使用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. MsBuild Web部署ERROR_FILE_IN_USE
- 3. Web部署項目失敗構建(Visual Studio 2008)
- 4. MSBuild和Web部署項目外部依賴關係
- 5. 使用msbuild部署BizTalk 2009項目
- 6. TFS MsBuild和Web部署項目隨機失敗
- 7. TeamBuild和Web部署項目
- 8. Intellij IDEA Web項目部署
- 9. ASP.NET Web部署項目是否存活?
- 10. Web部署項目的工具和Web應用程序項目
- 11. 的MSBuild包任務 - Web部署
- 12. Web部署項目的問題?
- 13. Visual Studio 2012和Web部署項目(wdproj)
- 14. 更好的替代Web部署項目
- 15. 澄清web部署項目設置
- 16. Web部署項目AfterBuild路徑問題
- 17. ASP.Net Web部署項目合併錯誤
- 18. 將GWT項目部署到Web-sphere
- 19. Visual Studio TFS不會部署web項目
- 20. 部署netbeans Java EE web項目
- 21. 在Myeclipse中部署一個web項目
- 22. 的MSBuild的Web API項目不創建一個可部署的包
- 23. 啓動一個程序的MSBuild/Web部署項目,而不是等待它
- 24. ASP.NET網站「發佈」 VS部署的Web項目
- 25. MSBuild調用Web項目的包目標
- 26. 部署DB TFS MSBuild
- 27. ASP.NET 4部署MSBUILD
- 28. Web部署項目 - 在生成後複製文件
- 29. 用於msbuild EXE項目的構建和部署自動化
- 30. msbuild不支持的部署項目:我的選擇是什麼?