問題:
開發人員正在努力指定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中文網其他相關文章!