我試圖將我們的buildserver(jenkins)從Visual Studio 2015升級到2017.我們正在通過MS-Build進行構建。我已經下載並安裝了這個answer中描述的MS-Buld工具。如果我編譯我的項目,我得到一個錯誤,找不到Microsoft.WebApplication.targets
。MS-Build 2017「Microsoft.WebApplication.targets」缺失
詳細的錯誤:
error MSB4226: The imported project "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\Microsoft\VisualStudio\v15.0\WebApplications\Microsoft.WebApplication.targets"
我在MS-build目錄進行查找:
PS C:\Program Files (x86)\MSBuild> dir -Recurse -Filter "Microsoft.WebApplication.targets"
Directory: C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 11.01.2012 00:23 19654 Microsoft.WebApplication.targets
Directory: C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\WebApplications
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 22.07.2013 01:25 19995 Microsoft.WebApplication.targets
Directory: C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 06.07.2015 21:55 20118 Microsoft.WebApplication.targets
Directory: C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\WebApplications
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 22.07.2013 01:25 19995 Microsoft.WebApplication.targets
可以看到該文件存在於舊版本的編譯器,但是對於v15.0,它缺失。
我也在生成服務器上安裝了Visual Studio 2017。如果我使用Visual Studio 2017進行編譯,該項目將成功構建。
任何提示如何解決此問題?一種可能的解決方案是生成從C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v15.0\WebApplications
指向舊版本v14.0文件(位於C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications
下)的符號鏈接。
THX
你是如何構建項目與MSBuild?由於您已經在構建服務器上安裝了Visual Studio 2017,爲什麼仍然要安裝MS-Build工具?從Visual Studio 2013開始,MSBuild將作爲Visual Studio的一部分而不是.NET Framework提供。 –