App.config 连接字符串相对路径
我需要在 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"/>
这可能吗?
I need to set in the app.config the sqlite connection string. I want to set the path relative to the debug/release folders the database file will be copied to those folders.
<add name="EmailsSQLite" connectionString="data source=c:\Users\Test\Documents\Visual Studio 2008\Projects\TestConsole\Emails\data\EmailDatabase.sqlite" providerName="System.Data.SQLite"/>
and I want to have something like:
<add name="EmailsSQLite" connectionString="data source=\data\EmailDatabase.sqlite" providerName="System.Data.SQLite"/>
Is that possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以指定相对路径,如 Lefty 的答案中所述。
但是,这将相对于当前工作目录,该目录不一定是包含可执行文件的目录。
解决这个问题的一种方法是在使用连接字符串之前修改它,例如
在 app.config 中:
在您的代码中:
You can specify a relative path as described in Lefty's answer.
However this will be relative to the current working directory, which will not necessarily be the directory containing your executable.
One way round this is to modify the connection string before using it, e.g.
In app.config:
In your code:
是的,这是可能的。尝试使用 |DataDirectory|。
在 App.config 中
本页提供更多信息
https://msdn.microsoft.com/en-us/library/cc716756.aspx
Yes it is possible. Try using |DataDirectory|.
In App.config
More information on this page
https://msdn.microsoft.com/en-us/library/cc716756.aspx
尝试使用“.”在字符串的数据源部分的第一个反斜杠之前。
例如。
Try using a "." before the first backslash in the data source part of the string.
eg.