问题:
开发人员正在努力指定SQL Express MDF 文件相对于 app.config 文件中应用程序目录的位置。他们希望避免手动定义绝对路径,这在应用程序部署到不同位置时变得很麻烦。
解决方案:
1.使用 |DataDirectory|:
|DataDirectory|不仅仅适用于网络应用程序。它可用于 Web 和桌面应用程序。它代表应用程序期望查找数据文件的目录。
2.设置|数据目录|以编程方式:
如果 |DataDirectory|应用程序不会自动设置,您可以使用 AppDomain.CurrentDomain.SetData("DataDirectory", path) 以编程方式设置它
示例配置:
在应用程序中.config文件:
<add name="MyConnectionString" connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes;" />
单元测试初始化中方法:
[TestInitialize] public void TestInitialize() { AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases")); }
通过使用此方法,连接字符串现在将自动使用相对于应用程序目录的 MDF 文件路径,即使在单元测试环境中也是如此。
以上是如何在 app.config 连接字符串中使用 My SQL Express MDF 文件的相对路径?的详细内容。更多信息请关注PHP中文网其他相关文章!