我试图将我们的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提供。 –