Основная ошибка .NetCore 3.1 dotnet-runtime во время развертывания
Я хочу развернуть свой проект с помощью Pivotal от Bamboo. Во время развертывания моего проекта .NetCore 3.1 я получаю сообщение об ошибке "Невозможно установить dotnet-runtime: не удалось найти версию dotnet-runtime для установки". Стек развертывания установлен на cflinuxfs3.
Я попытался указать версию среды выполнения dotnet (3.1 и 3.1.5) в файле.csproj, но возникла та же ошибка, поэтому я удалил ее.
Я также создал файл buildpack.yml и указал версию sdk.netcore как 3.1.x там.
Я использую группу свойств из csproj и файла manifest.yml.
-- Журнал ошибок --
Загрузка пакета приложения...
Загруженный пакет приложения (6.4M) -----> Dotnet-Core Buildpack версии 2.3.12
-----> Поставка ядра Dotnet -----> Установка libunwind 1.4.0
Копировать [/ TMP /buildpacks/b7bd2a36eb284e204524c677d2dbbfa2/ зависимости /a54cfafce3d2a14e4f96777d5fd471f4/libunwind_1.4.0_linux_noarch_cflinuxfs3_05e08b22.tgz] с помощью SDK по умолчанию
-----> Установка DotNet-SDK 3.1.301
Copy[/ TMP /buildpacks/b7bd2a36eb284e204524c677d2dbbfa2/ зависимости /b422801667458a262ba26a3117b93e4f/ DotNet-sdk_3.1.301_linux_x64_any-stack_80a771e4.tar.xz]-----> Установка dotnet-runtime 3.1.5
Скопируйте [/tmp/buildpacks/b7bd2a36eb284e204524c677d2dbbfa2/dependencies/40b5a460524fe7f1795c876445349a31/dotnet-runtime_3.1.5_linux_x64a_anyz-ack]-----> Завершение работы с ядром Dotnet
ОШИБКА Невозможно установить dotnet-runtime: не удалось найти версию dotnet-runtime для установки Не удалось скомпилировать дроплет: не удалось запустить сценарий финализации: статус выхода 12 Статус выхода 223 Ячейка ffe536bc-374c-46b5-a620-e3366dab6b22 остановка экземпляра b71ecb48-0083-4fd1-8f59-3a77b05de0e0Ошибка постановки приложения: сбой постановки приложения на этапе компиляции пакета сборки
-.csproj -
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<ServerGarbageCollection>true</ServerGarbageCollection>
<ConcurrentGarbageCollection>true</ConcurrentGarbageCollection>
<IsTransformWebConfigDisabled>true</IsTransformWebConfigDisabled>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<NoWarn>$(NoWarn);1591</NoWarn>
</PropertyGroup>
- manifest.yml -
---
applications:
- name: projectName
memory: 1G
timeout: 240
instances: 1
routes:
- route: routeAddress
services:
- ARCHITECTURE.SERVICES-TST.ServiceRegistry
- ProjectName.Redis
- ProjectName.Dynatrace
- ProjectName.ConfigServer
env:
DT_TAGS: ((appName)) ((dc))-((env))
TZ: country
ASPNETCORE_ENVIRONMENT: environmentName
SPRING_CLOUD_CONFIG_LABEL: configLabel
1 ответ
Хорошо, вот что происходит.
Когда он пуст, он будет смотреть на TargetFramework и пытаться найти совпадение подстроки с помощью регулярного выражения
netcoreapp(.*)
.Ожидается, что будет одно совпадение, но в вашем случае его нет, поэтому вы получите это сообщение об ошибке:
could not find a version of dotnet-runtime to install
.
На основе вашего .csproj
файл, похоже, что то, что у вас есть, должно быть в порядке. Я быстро проверил, регулярное выражение работает и возвращает версию.
Вы можете попробовать установить RuntimeFrameworkVersion
который потребует немного другого пути кода и может сработать для вас.
Вы пытаетесь выполнить развертывание на основе исходного кода. Вы могли бы попробоватьdotnet publish
сначала следует развертывание, зависящее от фреймворка, которое снова заставит другой путь кода.
Возможно, пакет сборки не находит ваш файл, но без дополнительной информации сложно сказать.