Запуск на VSTS asp.net core sln, который я получил: Ошибка MSB4018: Задача «TransformWebConfig» неожиданно завершилась неудачей - PullRequest
2 голосов
/ 11 июня 2019

Я пытаюсь создать определение сборки для основного приложения asp.net. Мой проект компилируется в Visual Studio, а также с MSBuild. Когда я пытаюсь запустить решение в Azure для компиляции, оно не может отобразить следующее сообщение:

C:\Program Files\dotnet\sdk\2.2.105\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\TransformTargets\Microsoft.NET.Sdk.Publish.TransformFiles.targets(49,5): Error MSB4018: The "TransformWebConfig" task failed unexpectedly.
System.Exception: In process hosting is not supported for AspNetCoreModule. Change the AspNetCoreModule to atleast AspNetCoreModuleV2.
   at Microsoft.NET.Sdk.Publish.Tasks.WebConfigTransform.TransformAspNetCore(XElement aspNetCoreElement, String appName, Boolean configureForAzure, Boolean useAppHost, String extension, String aspNetCoreModuleName, String aspNetCoreHostingModel)
   at Microsoft.NET.Sdk.Publish.Tasks.WebConfigTransform.Transform(XDocument webConfig, String appName, Boolean configureForAzure, Boolean useAppHost, String extension, String aspNetCoreModuleName, String aspNetCoreHostingModel, String environmentName)
   at Microsoft.NET.Sdk.Publish.Tasks.TransformWebConfig.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()
Process 'msbuild.exe' exited with code '1'.

Странно то, что в настоящее время я установил на свой компьютер SDK 2.2.300 с Runtime 2.2.5, но когда я запускаю определение сборки в VSTS, кажется, что SDK, который он использует, - это 2.2.105. Сначала я думал, что агент VSTS не имеет правильной версии, и он работал с 2.2.105. После запуска агента, размещенного самостоятельно, ошибка та же.

Просматривая в Интернете подробности об агентах VSTS, я обнаружил, что самая высокая установленная зависимость .NetCore - это SDK 2.2.105. Зайдя по реквизитам агента, вы можете прочитать

.NET Core
The following runtimes and SDKs are installed:

Environment:

PATH: contains location of dotnet.exe
SDK:

2.2.105 C:\Program Files\dotnet\sdk\2.2.105
2.2.104 C:\Program Files\dotnet\sdk\2.2.104
2.2.103 C:\Program Files\dotnet\sdk\2.2.103
2.2.102 C:\Program Files\dotnet\sdk\2.2.102

Я пытался устранить неполадки следующим образом:

  1. Подождите, пока Microsoft обновит свои онлайн-агенты
  2. Создайте временный агент (агент с собственным размещением), работающий на вашем localhost, где установлены все зависимости
  3. попробуйте добавить шаг, который устанавливает SDK как часть агента задачи (см. изображение ниже), но, к сожалению, я не смог заставить его работать

Есть мысли?

enter image description here

Ответы [ 2 ]

0 голосов
/ 23 июля 2019

Если вы не хотите использовать внутрипроцессный хостинг, удалите элемент «AspNetCoreHostingModel» из вашего .csproj:

   <PropertyGroup>
     <TargetFramework>netcoreapp2.1</TargetFramework>
     <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
   </PropertyGroup>
0 голосов
/ 18 июня 2019

Как видно из Образы виртуальных машин Azure Pipelines для размещенного в Microsoft CI / CD , самая высокая версия .NET Core, установленная в размещенном агенте, - это SDK 2.2.105 с Runtime 2.2.3. Но версия, которую вы установили для сборки проекта, - .NET Core SDK 2.2.300 с Runtime 2.2.5. Вот почему вы получили это сообщение об ошибке.

Вы можете использовать задачу, чтобы установить соответствующую версию для поддержки этой сборки. Сначала добавьте расширение .NET Core Global Tool Installer и используйте задачу dotnet версии 2. * (Превью) для установки .NET Core SDK 2.2.300 с Runtime 2.2.5.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...