Ошибка MSBuild при указании PublishProfile для проекта ASP.NET.Core

У меня есть проект ASP.NET Core 1.1.2, ориентированный на .NET Framework 4.6.2. Недавно я установил последнюю версию Visual Studio (15.2 26430.16) и теперь не могу собрать проект с помощью MSBuild версии 15.1.1012.6693. Ошибка возникает при использовании PublishProfile.

Команда MSBuild:

msbuild D:\project\project.csproj /p:DeployOnBuild=true /p:PublishProfile=dist

И ошибка:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\TransformTargets\Microsoft.NET.Sdk.Publish.TransformFiles.targets(54,5): error MSB4062: The "TransformWebConfig" task could not be loaded from the assembly C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\..\..\tools\net46\\Microsoft.NET.Sdk.Publish.Tasks.dll. Could not load file or assembly 'file:///C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Sdks\Microsoft.NET.Sdk.Publish\tools\net46\Microsoft.NET.Sdk.Publish.Tasks.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. [D:\project\project.csproj]

Это работает, если не указан профиль публикации. Однако при публикации проекта из Visual Studio все работает как положено.


person Tommy Jakobsen    schedule 15.08.2017    source источник


Ответы (1)


Это известная ошибка инструментария при сборке с использованием 64-битной версии MSBuild (сервер сборки, командная строка). Дополнительные сведения см. в этой проблеме GitHub.

Поскольку эта проблема устранена, вам необходимо перейти на недавно выпущенные версии 15.3.* Visual Studio/MSBuild и, возможно, также версия 2.0.0 .NET Core SDK.

person Martin Ullrich    schedule 15.08.2017
comment
Большое спасибо. Достаточно было обновить SDK. - person Tommy Jakobsen; 22.08.2017