Создание .sln в DevOps Azure, в котором проекты .Net Framework и .Net Core объединены в одном файле решения. - PullRequest
0 голосов
/ 11 июня 2019

Какова оптимальная практика для создания файла .sln в конвейерах DevOps Azure, в которых оба проекта предназначены для .NET Core и .NET Framework.Я пытался использовать задачу восстановления Nuget для файла .sln, но он вызывает ошибки в некоторых пакетах, которые несовместимы с ядром .net 2.1.Это также указывается в описании задачи при запуске сборки:

Восстановить, упаковать или отправить пакеты NuGet или выполнить команду NuGet.Поддерживает NuGet.org и аутентифицированные каналы, такие как артефакты Azure и MyGet.Использует NuGet.exe и работает с приложениями .NET Framework.Для приложений .NET Core и .NET Standard используйте задачу .NET Core.

Если я использую задачу .NET Core, я могу выполнять восстановление dotnet и сборку dotnet только для определенных файлов csproj, но не для всегоФайл .sln, как я могу выполнить задачу Visual Studio Build.

Итак, каков наилучший способ создания .sln в DevOps Azure, который имеет проекты .NET Core и .NET Framework, а также нуждается ввосстановить пакеты?

1 Ответ

1 голос
/ 12 июня 2019

Построение .sln в DevOps Azure с проектами .Net Framework и .Net Core в одном файле решения

По умолчанию .Net Framework проекты используют файл packages.configдля ссылок NuGet.Только nuget.exe командная строка nuget restore может восстановить эти типы проектов.Проекты .Net Core, ссылающиеся на пакеты NuGet с использованием элементов PackageReference, можно использовать напрямую через dotnet restore.Это означает, что dotnet restore не может восстановить проекты packages.config.

Таким образом, чтобы решить эту проблему, мы могли бы Мигрировать с package.config в PackageReference или просто использовать packagereference в.netframework проекта, тогда мы могли бы использовать задачу dotnet restore для восстановления файла .sln в DevOps Azure.

Кроме того, для сборки, хотя dotnet build должно быть в состоянии собрать много классическихВ проектах .NET Framework многие функции могут не работать, поскольку основные задачи сборки предназначены для запуска на .NET Framework и могут вести себя по-разному или полностью не поддерживаются в версии .NET Core MSBuild, поэтому для создания файла .sln,мы рекомендуем использовать Visual Studio Build task или MSBuild task.

Надеюсь, это поможет.

...