我需要在 app.config 中设置 sqlite 连接字符串。我想设置相对于调试/发布文件夹的路径,数据库文件将复制到这些文件夹。
<add name="EmailsSQLite" connectionString="data source=c:\Users\Test\Documents\Visual Studio 2008\Projects\TestConsole\Emails\data\EmailDatabase.sqlite" providerName="System.Data.SQLite"/>
我想要这样的东西:
<add name="EmailsSQLite" connectionString="data source=\data\EmailDatabase.sqlite" providerName="System.Data.SQLite"/>
那可能吗?
您可以指定相对路径,如 Lefty 的答案中所述。
但是,这将相对于当前工作目录,该目录不一定是包含可执行文件的目录。
解决这个问题的一种方法是在使用连接字符串之前修改它,例如
在应用程序配置中:
connectionString="data source={AppDir}\data\EmailDatabase.sqlite
在你的代码中:
ConnectionStringSettings c = ConfigurationManager.ConnectionStrings[name];
if (c == null)
{
... handle missing connection string ...
}
string fixedConnectionString = c.ConnectionString.Replace("{AppDir}", AppDomain.CurrentDomain.BaseDirectory);
... use fixedConnectionString
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)