0
我們有一個if語句來嘗試確定特定文件夾的位置。根據我們是在本地運行(調試)還是在客戶端機器上(發行版),我們會在不同的地方尋找它。通過Visual Studio Designer確定項目的解決方案文件位置
#if (DEBUG)
firefoxPath = @"..\..\..\Includes\XulRunner\";
#else
if (System.Diagnostics.Debugger.IsAttached) {
firefoxPath = @"..\..\..\Includes\XulRunner\";
}
else {
firefoxPath = Path.Combine(Application.StartupPath, @"XulRunner\");
}
#endif
然而,當我們試圖運行引用這一個項目的設計,它是無法化解的路徑,作爲設計師的工作目錄是: C:\ Program Files文件(x86)的\微軟Visual Studio 12.0 \ Common7 \ IDE。如果文件夾路徑不正確,項目將無法正確運行,並且設計器在嘗試加載時會崩潰。
我們可以用它來確定我們是否正在通過設計師執行:
bool isInDesignMode = LicenseManager.UsageMode == LicenseUsageMode.Designtime || System.Diagnostics.Debugger.IsAttached == true;
我的問題是,我們如何確定的路徑,通過設計師的解決方案,使我們能正確解析我們需要的文件夾的路徑?
爲什麼不把這個值放在web.config中作爲關鍵字,並使用transform在不同的環境中進行更改? – thsorens
我們無法知道項目文件的靜態位置,因爲這是由幾個人開發的,每個人都可以通過各種途徑獲得解決方案 – user2312903