2016-11-14 48 views
0

我正在遷移Visual Studio 2010中的項目以使用更新的2015工具,但不知道如何解決這個問題。使用MSBuild 2015的AspNetMerge任務

期間通過的TeamCity上安裝了Visual Studio 2015年新生成代理的生成,出現以下錯誤:

錯誤MSB4062:在「Microsoft.WebDeployment.Tasks.AspNetMerge」任務無法從中加載程序集C:\ Program Files(x86)\ MSBuild \ Microsoft \ WebDeployment \ v10.0 \ Microsoft.WebDeployment.Tasks.dll。無法加載文件或程序集'file:/// C:\ Program Files(x86)\ MSBuild \ Microsoft \ WebDeployment \ v10.0 \ Microsoft.WebDeployment.Tasks.dll'或其某個依賴項。該系統找不到指定的文件。確認聲明是正確的,程序集及其所有依賴項都可用,並且任務包含一個實現Microsoft.Build.Framework.ITask的公共類。

有問題的組件在.proj文件中引用的建設作爲一項任務:

<UsingTask TaskName="Microsoft.WebDeployment.Tasks.AspNetMerge" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\WebDeployment\v10.0\Microsoft.WebDeployment.Tasks.dll"/> 

現在,鑑於這些路徑的版本號是10.0版本我認爲它仍然引用舊的工具。問題是在新的工具Microsoft.WebDeployment.Tasks.dll不再存在。

有人能告訴我什麼是我需要在我的MSBuild proj中引用的新程序集,以便在新工具中執行aspnet_merge步驟?有沒有更好的辦法?

在此先感謝!

回答

0

我最終通過更改AspNetMerge任務中使用的程序集得到了這個工作。 .proj文件到:

<UsingTask TaskName="AspNetMerge" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v14.0\Web\Microsoft.Web.Publishing.Tasks.dll"/> 

AspNetMerge任務現在是Microsoft.Web.Publishing.Tasks.dll的一部分。

0

Microsoft.WebDeployment.targets和Microsoft.WebDeployment.Tasks.dll包含在Web Deployment Projects package中。更多信息:您可以參考this文章。

對於Visual Studio 2015,您不需要創建Web部署項目,您可以創建發佈配置文件並配置預編譯。

  1. 右鍵點擊你的Web項目=>發佈
  2. 單擊自定義創建一個新的發佈配置
  3. 在設置部分,發佈方式過程中檢查預編譯,然後單擊配置來配置它

enter image description here enter image description here