使用Web Deployment Project時MSBuild在執行構建時使用文件夾「.TempBuildDir」。是否可以指定一個替代文件夾?Web部署項目/ MSBuild - TempBuildDir
1
A
回答
4
在C:\ Program Files \ MSBuild \ Microsoft \ WebDeployment \ v9.0或v10.0目錄中是Microsoft.WebDeployment.targets文件,其中TempBuildDir屬性在_PrepareForBuild目標中定義。
由於他們使用CreateProperty任務來設置TempBuildDir,它始終設置爲硬編碼值,即使該屬性已存在。這可能是爲了消除某人使用TempBuildDir屬性進行其他操作並搞亂構建的問題。
您將不得不將Microsoft.WebDeployment.targets文件更改爲使用不同的臨時目錄。
警告:以下內容正在更改您無權控制的文件,因此使用是您自己的風險。
如果你要在_PrepareForBuild目標以下行從
<CreateProperty Value=".\TempBuildDir\">
<Output TaskParameter="Value" PropertyName="TempBuildDir" />
</CreateProperty>
改變
<CreateProperty Value="$(MySpecialWebTempBuildDir)" Condition=" '$(MySpecialWebTempBuildDir)' != '' ">
<Output TaskParameter="Value" PropertyName="TempBuildDir" />
</CreateProperty>
<CreateProperty Value=".\TempBuildDir\" Condition=" '$(MySpecialWebTempBuildDir)' == '' ">
<Output TaskParameter="Value" PropertyName="TempBuildDir" />
</CreateProperty>
然後設置MySpecialWebTempBuildDir屬性項目中的文件,它應該覆蓋它。如果您沒有設置MySpecialWebTempBuildDir,那麼它將像以前一樣使用TempBuildDir。
如果安裝Web部署包的更新,您的更改將被覆蓋。
1
另一種方案是取消註釋和覆蓋網絡部署項目的「BeforeBuild」的目標如下:
<Target Name="BeforeBuild">
<CreateProperty Value=".\TempBuildDirDebug\" Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Output TaskParameter="Value" PropertyName="TempBuildDir" />
</CreateProperty>
<CreateProperty Value=".\TempBuildDirRelease\" Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Output TaskParameter="Value" PropertyName="TempBuildDir" />
</CreateProperty>
相關問題
- 1. MSBuild:如何爲Web部署項目(VS2010)構建Web部署包?
- 2. Web部署項目&TeamCity
- 3. MsBuild Web部署ERROR_FILE_IN_USE
- 4. Web部署項目失敗構建(Visual Studio 2008)
- 5. MSBuild和Web部署項目外部依賴關係
- 6. VS2005 Web部署項目VS2008 - ASPNET編譯器錯誤
- 7. 使用msbuild部署BizTalk 2009項目
- 8. TFS MsBuild和Web部署項目隨機失敗
- 9. 錯誤時通過的TeamCity用的MSBuild部署Web項目(msdeploypublish)
- 10. MSBUILD web部署包不包含項目引用DLL的
- 11. ASP.NET Web部署項目是否存活?
- 12. TeamBuild和Web部署項目
- 13. Intellij IDEA Web項目部署
- 14. 發佈Web項目的MSBuild
- 15. Web部署項目的工具和Web應用程序項目
- 16. 的MSBuild包任務 - Web部署
- 17. Jenkins-MSBuild Web部署創建zip而不是部署
- 18. 部署Android的Spring項目Web服務
- 19. 兩個Web項目,一個部署
- 20. OpenShift部署java配置的web項目
- 21. 使用Tomcat部署Dynamic Web項目
- 22. 部署netbeans Java EE web項目
- 23. Web部署項目AfterBuild路徑問題
- 24. Visual Studio TFS不會部署web項目
- 25. 使用Web引用部署項目
- 26. 在Liferay Portlet內部署Web項目
- 27. 澄清web部署項目設置
- 28. Visual Studio 2012和Web部署項目(wdproj)
- 29. Web部署項目的問題?
- 30. TFS2010與多個項目的web部署