Вопрос:

Смешанные цели в сборке VSTS

continuous-integration .net-core azure-devops .net-4.6

396 просмотра

1 ответ

194 Репутация автора

У нас есть aspnet-coreприложение, которое состоит из нескольких .net standardбиблиотек, двух aspnet-core mvcприложений и, в исключительных случаях, .net frameworkконсольного приложения.

Все они успешно создаются как в решении в Visual Studio, так и индивидуально с помощью команд msbuild/ dotnet build.

Сейчас мы пытаемся реализовать непрерывную интеграцию / сборку с VSTS.

Мы обнаружили, что aspnet-coreвеб-приложения создаются успешно, но .net frameworkконсольное приложение завершается ошибкой с несколькими сообщениями об ошибках, такими как:

2017-12-24T07:20:26.4090447Z C:\Program 
Files\dotnet\sdk\2.0.3\Microsoft.Common.CurrentVersion.targets(1988,5): 
warning MSB3245: Could not resolve this reference. Could not locate the 
assembly "Xxx.Core, Version=1.1.0.0, Culture=neutral, 
processorArchitecture=MSIL". Check to make sure the assembly exists on disk. 
If this reference is required by your code, you may get compilation errors. 
[d:\a\1\s\WinApps\ListBuilder\ListBuilder.csproj]
C:\Program Files\dotnet\sdk\2.0.3\Microsoft.Common.CurrentVersion.targets(1988,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.EntityFrameworkCore, Version=2.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [d:\a\1\s\WinApps\TelemListBuilder\TelemListBuilder.csproj]

Консольное приложение имеет ту же структуру папок, что и веб-приложения, но, похоже, не может найти ни один из упомянутых пакетов.

Очередь нашего агента есть Hosted VS2017.

У нас есть две задачи VSTS: Restoreи Buildиз asp.net coreшаблона сборки.

При необходимости мы будем рады, если сможем исключить консольное приложение из сборки.

Автор: jag Источник Размещён: 02.01.2018 10:18

Ответы (1)


3 плюса

26708 Репутация автора

Решение

Поскольку существуют общие проекты .net framework и .net core project, и вы хотите собрать их вместе, вам нужно использовать задачу Visual Studio Build .

Итак, удалите задачи .Net Core Restore и .Net Core и добавьте N uGet Tool Installer (4.3.0) , задачи восстановления Nuget и сборки Visual Studio (версия Visual Studio: последняя или Visual Studio 2017)

Если вы хотите сгенерировать пакет развертывания во время сборки, вы можете указать следующие аргументы MSBuild:

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)"
Автор: starian chen-MSFT Размещён: 03.01.2018 01:59
Вопросы из категории :
32x32