自從我們在項目中停止使用常規IIS以來,過去幾年來,我一直遇到IIS Express的問題。我們通常擁有具有Web服務和某種客戶端(Web,桌面或兩者)的解決方案。當我每10次運行一次客戶端時,我會收到關於找不到localhost:blahblah或無法加載程序集的錯誤。完全重建總是可以解決這個問題。但是,這是我和我的同事們在VS2013和VS2015中處理過的東西。我想出了一個解決方法,我添加了一個Pre-build事件來刪除Web服務的bin文件夾,並在其上執行和msbuild。這在我的機器上效果很好。但是,我不知道如何將它寫在我們的構建服務器或其他人機器上。預生成事件作爲cs.proj文件的一部分被檢入到源代碼控制中,所以如果我去那個路由,我需要一個通用的解決方案。這是我的預編譯腳本:Visual Studio/IIS Express間歇性錯誤
DEL /Q "C:\TFS\Enterprise Data Management\Vendor\Dev-Phase2US\WcfService\bin\*.*"
"C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" "C:\TFS\Enterprise Data Management\Vendor\Dev-Phase2US\WcfService\WcfService.csproj"
是否有其他人有過類似的問題?任何良好的解決方案或解決方法?
在每個開發人員的機器上設置一個環境變量,並在簽入的文件中使用該變量。然後,每臺機器都可以根據開發人員的喜好將其設置爲不同的值。 –
@LexLi這是一個很好的建議。我想過這個。其中一個缺點是我們試圖在源代碼控制中擁有一切。所以任何開發人員都可以在不進行任何環境設置的情況下下載代碼並運行代碼此外,我不認爲這將與我們的生成服務器管理員飛行。然而,沒有我的組織限制,這是一個好主意。 –
所以爲了確保我能正確理解修正:您想要在每臺開發人員的機器上運行此PreBuild命令,但需要知道C:\ TFS \ .. \ Dev-Phase2US \ WcfService的路徑嗎? – makhdumi