MSBuild пытается использовать основные цели .NET для проекта .NET Framework - PullRequest
0 голосов
/ 27 июня 2018

У меня есть веб-приложение .NET 4.6, и оно прекрасно работает на моем компьютере - как из 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"
...