Я надеюсь, что у кого-то есть советы по поводу того, как лучше всего использовать Teamcity для создания и публикации решения, в котором есть как проекты .NET Core / standard 2.0, так и проекты .NET framework 4.6.x.
В настоящее время я могу собрать проект, запустить тесты, но не могу придумать способ опубликовать его через dotnet-cli. У нас есть относительно большое решение, примерно 75 проектов в ядре / стандарте .NET и 5 или несколько проектов фреймворка. Запуск dotnet publish в нашем решении приводит к следующей ошибке в проектах .NET framework:
ошибка: C: \ Program Files \ dotnet \ sdk \ 2.0.3 \ Microsoft.Common.CurrentVersion.targets (3861,5): ошибка MSB4062: задача «Microsoft.Build.Tasks.ResolveManifestFiles» не может быть загружена из сборки Microsoft.Build.Tasks.Core, версия = 15.1.0.0, культура = нейтральный, PublicKeyToken = b03f5f7f11d50a3a. Убедитесь, что объявление правильное, что сборка и все ее зависимости доступны, а задача содержит открытый класс, реализующий Microsoft.Build.Framework.ITask.
Было бы идеально, если бы cli мог попытаться игнорировать публикацию проектов .NET Framework, но это кажется невозможным. Я думаю о написании сценария PowerShell, чтобы проверить все файлы csproj в нашем решении на соответствующее значение TargetFramework (например, netstandard2.0 / netcoreapp2.0) и опубликовать их по отдельности, но, может быть, кто-то знает способ получше?
dotnet
CLI работает только с этим. - person nvoigt   schedule 21.12.2017