我有.NET 4.6 Web应用程序,它可以在我的计算机上正常运行-从Visual Studio和MSBuild命令行均可。在另一台机器上(安装了Visual Studio的构建代理),出现如下构建错误:
[restore] C:\blabla\myapp.csproj(430,3): error MSB4019: The imported project "C:\Program Files\dotnet\sdk\2.1.100\Microsoft\VisualStudio\v15.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
在csproj文件中,导入看起来像这样
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
因此出于某种原因,似乎VSToolsPath
被设置为C:\Program Files\dotnet\sdk\2.1.100\Microsoft\VisualStudio\v15.0
。在我看来,就像MSBuild尝试使用.NET Core“工具”一样。可能是什么原因以及如何解决?
编辑:添加构建命令(bat文件):
set PATH="C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin";%PATH%
msbuild "mysolution.sln" /t:Rebuild /p:Configuration=Release /p:Platform="Any CPU" /p:TargetProfile="ProdCloud"