Почему CloudFoundry устанавливает несколько версий ядра .NET? - PullRequest
0 голосов
/ 25 апреля 2018

В целях тестирования я написал небольшой проект ASP.NET Core Web API, установите в .csproj следующее:

<PropertyGroup>
  <TargetFramework>netcoreapp2.0</TargetFramework>
  <RuntimeFrameworkVersion>2.0.0</RuntimeFrameworkVersion>
</PropertyGroup>

Когда я отправляю этот проект в CF, он устанавливает «dotnet-framework 2.0.0», как и положено, но кроме того, он пытается установить «dotnet-framework 2.0.6», который недоступен в используемой мной среде CloudFoundry. (MindSphere) и поэтому терпит неудачу.

Почему CF пытается установить несколько версий .NET Core? И откуда взялся этот 2.0.6 или как явно указать сборку CloudFoundry, какую версию использовать?

1 Ответ

0 голосов
/ 26 апреля 2018

TIL шаблон проекта добавляет расширение .NET Core CLI в .csproj. Этот пакет не распознается менеджером пакетов NuGet, и поэтому его трудно пропустить.

Но реальная проблема заключается в том, что этот пакет не привязан к указанному "RuntimeFrameworkVersion", но имеет свои собственные зависимости и загружает их, несмотря ни на что. В моем случае расширение имело зависимость от 2.0.6, которую оно пыталось загрузить в дополнение к моей указанной версии 2.0.0

Поскольку добавленное расширение CLI не требуется для приложения в рабочей среде, было решено удалить этот абзац из .csproj ...

<ItemGroup>
  <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.3" />
</ItemGroup>
...