gpt4 book ai didi

c# - 无效的框架标识符 Dotnet 还原、docker 构建

转载 作者:行者123 更新时间:2023-12-05 09:12:39 26 4
gpt4 key购买 nike

当我尝试在我的 dotnet 核心 API 中运行 docker build 时出现此错误:

 Invalid framework identifier ''

这是我的 dockerfile:

FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/core/sdk:2.2-stretch AS build
WORKDIR /src
COPY Backend/AppManagerAPI/AppManagerAPI.csproj Backend/AppManagerAPI/
COPY Backend/DTO/DTO.csproj Backend/DTO/
COPY nuget.config ./
COPY Build/dependencies.props ./Build
COPY Backend/Database/Database.csproj Backend/Database/
COPY Backend/Service/Service.csproj Backend/Service/
COPY Utilities/Utilities.csproj Utilities/
RUN dotnet restore "Backend/AppManagerAPI/AppManagerAPI.csproj"
COPY . .
WORKDIR "/src/Backend/AppManagerAPI"
RUN dotnet build "AppManagerAPI.csproj" -c Release -o /app

FROM build AS publish
RUN dotnet publish "AppManagerAPI.csproj" -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "AppManagerAPI.dll"]

和完整的错误堆栈:

$ docker build -t appmanager .
Sending build context to Docker daemon 560.6kB
Step 1/23 : FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim AS base
---> 34973cab5999
Step 2/23 : WORKDIR /app
---> Using cache
---> c402eb945a47
Step 3/23 : EXPOSE 80
---> Using cache
---> 8ac4a84a040e
Step 4/23 : EXPOSE 443
---> Using cache
---> 3c5014f9b6d5
Step 5/23 : FROM mcr.microsoft.com/dotnet/core/sdk:2.2-stretch AS build
---> 08657316a4cd
Step 6/23 : WORKDIR /src
---> Using cache
---> e851dfaa1225
Step 7/23 : COPY Backend/AppManagerAPI/AppManagerAPI.csproj Backend/AppManagerAPI/
---> Using cache
---> 1eaa1d28c559
Step 8/23 : COPY Backend/DTO/DTO.csproj Backend/DTO/
---> Using cache
---> 81f9260e48a0
Step 9/23 : COPY nuget.config ./
---> Using cache
---> 3901e5ab8090
Step 10/23 : COPY Build/dependencies.props ./Build
---> Using cache
---> 35128353acde
Step 11/23 : COPY Backend/Database/Database.csproj Backend/Database/
---> Using cache
---> 25686efb1af9
Step 12/23 : COPY Backend/Service/Service.csproj Backend/Service/
---> Using cache
---> 3287a7a78971
Step 13/23 : COPY Utilities/Utilities.csproj Utilities/
---> Using cache
---> fe57c187d929
Step 14/23 : RUN dotnet restore "Backend/AppManagerAPI/AppManagerAPI.csproj"
---> Running in 33780f69aa7d
/usr/share/dotnet/sdk/2.2.401/NuGet.targets(123,5): error : Invalid framework identifier ''. [/src/Backend/AppManagerAPI/AppManagerAPI.csproj]
The command '/bin/sh -c dotnet restore "Backend/AppManagerAPI/AppManagerAPI.csproj"' returned a non-zero code: 1

我已经尝试了所有我能想到的方法,我想知道它是否与我的 properties.props 文件有关,但是将它复制到容器中没有用。任何帮助,将不胜感激。

更新

这是我的 AppManagerAPI.csproj

<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>$(NetCoreTargetVersion)</TargetFramework>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
<UserSecretsId>d37c9296-55fb-4c04-ad4e-3d1f5451dc28</UserSecretsId>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<NoWarn></NoWarn>
<AllowUnsafeBlocks></AllowUnsafeBlocks>
</PropertyGroup>
<ItemGroup>
<None Remove="API.xml" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="Alpha.WebUtils.Core" Version="$(AlphaWebUtilsCorePackageVersion)" />
<PackageReference Include="Microsoft.AspNetCore.App">
<PrivateAssets Condition="'%(PackageReference.Version)' == ''">all</PrivateAssets>
<Publish Condition="'%(PackageReference.Version)' == ''">true</Publish>
</PackageReference>
<PackageReference Include="Alpha.Utils.Core" Version="$(AlphaUtilsCorePackageVersion)" />
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="$(AutomapperDIPackageVersion)" />
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.4.10" />
<PackageReference Include="Scrutor" Version="$(ScrutorPackageVersion)" />
<PackageReference Include="Alpha.Backend.Core" Version="$(AlphaBackendCorePackageVersion)" />
<PackageReference Include="Alpha.Backend.EFCore" Version="$(AlphaBackendEFCorePackageVersion)" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="$(SwashbuckleAspNetCorePackageVersion)" />
<PackageReference Include="NetEscapades.Extensions.Logging.RollingFile" Version="$(LoggingRollingFilePackageVersion)" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Api.Analyzers" Version="$(ApiAnalyzersPackageVersion)" />
<PackageReference Include="EfCore.GenericBizRunner" Version="$(EfCoreGenericBizRunnerPackageVersion)" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\DTO\DTO.csproj" />
<ProjectReference Include="..\Service\Service.csproj" />
</ItemGroup>

<ItemGroup>
<Folder Include="Models\" />
<Folder Include="wwwroot\Upload\" />
<Folder Include="logs\" />
</ItemGroup>

<ItemGroup>
<Compile Remove="Controllers\Administracion\RutasController.cs" />
<Compile Remove="Controllers\Administracion\SectoresController.cs" />
<Compile Remove="Controllers\Administracion\ConsultaRutasController.cs" />
<Compile Remove="Controllers\Administracion\ComercioEntidadTipoClienteController.cs" />
<Compile Remove="Controllers\Administracion\LugaresController.cs" />
<Compile Remove="Controllers\Genericos\CentrosController.cs" />
<Compile Remove="Controllers\Genericos\MenuController.cs" />
<Compile Remove="Controllers\GestionIntervenciones\AlisysController.cs" />
<Compile Remove="Controllers\GestionIntervenciones\OrdenesIntervencionesController.cs" />
<Compile Remove="Controllers\GestionIntervenciones\SauController.cs" />
<Compile Remove="Controllers\Genericos\SystemController.cs" />
<Compile Remove="Controllers\Mantenimiento\AccesoriosController.cs" />
<Compile Remove="Controllers\Mantenimiento\DiasFestivosController.cs" />
<Compile Remove="Controllers\Mantenimiento\EemmsController.cs" />
<Compile Remove="Controllers\Mantenimiento\EntidadesMantenedorasController.cs" />
<Compile Remove="Controllers\Mantenimiento\EtiquetasSatController.cs" />
<Compile Remove="Controllers\Mantenimiento\GruposCualificadoresController.cs" />
<Compile Remove="Controllers\Mantenimiento\HorariosController.cs" />
<Compile Remove="Controllers\Mantenimiento\IncidenciasController.cs" />
<Compile Remove="Controllers\Mantenimiento\MarcasController.cs" />
<Compile Remove="Controllers\Mantenimiento\ModelosController.cs" />
<Compile Remove="Controllers\Mantenimiento\ModelosIndicadosController.cs" />
<Compile Remove="Controllers\Mantenimiento\MotivoCierreController.cs" />
<Compile Remove="Controllers\Mantenimiento\MotivosParadaController.cs" />
<Compile Remove="Controllers\Mantenimiento\PatronesCentroController.cs" />
<Compile Remove="Controllers\Mantenimiento\PerfilesUsuarioController.cs" />
<Compile Remove="Controllers\Mantenimiento\PermisosController.cs" />
<Compile Remove="Controllers\Mantenimiento\PiezaAlmacenPrecioController.cs" />
<Compile Remove="Controllers\Mantenimiento\PiezasController.cs" />
<Compile Remove="Controllers\Mantenimiento\SoftwaresController.cs" />
<Compile Remove="Controllers\Mantenimiento\TecnologiasController.cs" />
<Compile Remove="Controllers\Mantenimiento\TipoActualizacionController.cs" />
<Compile Remove="Controllers\Mantenimiento\TipoIncidenciaController.cs" />
<Compile Remove="Controllers\Mantenimiento\TipoIntervencionController.cs" />
<Compile Remove="Controllers\Mantenimiento\TiposClientesController.cs" />
<Compile Remove="Controllers\Mantenimiento\TiposCoberturasController.cs" />
<Compile Remove="Controllers\Mantenimiento\TiposLugarController.cs" />
<Compile Remove="Controllers\Mantenimiento\TiposMantenimientoController.cs" />
<Compile Remove="Controllers\Mantenimiento\TiposModoTerminalController.cs" />
<Compile Remove="Controllers\Mantenimiento\TiposSeguridadTerminalController.cs" />
<Compile Remove="Controllers\Mantenimiento\TiposTecnologiaController.cs" />
<Compile Remove="Controllers\Mantenimiento\TiposTerminalController.cs" />
<Compile Remove="Controllers\Administracion\DelegacionesController.cs" />
<Compile Remove="Controllers\Administracion\ListasCorreoController.cs" />
<Compile Remove="Controllers\Genericos\CodigosPostalesController.cs" />
<Compile Remove="Controllers\Genericos\MotivoTipoEntidadController.cs" />
<Compile Remove="Controllers\Genericos\PrioridadesController.cs" />
<Compile Remove="Controllers\GestionIntervenciones\BloqueosController.cs" />
<Compile Remove="Controllers\GestionIntervenciones\EstadosIntervencionController.cs" />
<Compile Remove="Controllers\GestionIntervenciones\EstadosOdinController.cs" />
<Compile Remove="Controllers\Mantenimiento\Configuracion\CalendarioLaboralesController.cs" />
<Compile Remove="Controllers\Mantenimiento\Configuracion\NotificacionesEmailController.cs" />
<Compile Remove="Controllers\Mantenimiento\AccionesController.cs" />
</ItemGroup>
</Project>

最佳答案

问题是我需要复制我的 Directory.Build.props 文件,现在可以正常工作了。刚刚将这一行添加到我的 dockerfile

COPY Directory.Build.props ./

关于c# - 无效的框架标识符 Dotnet 还原、docker 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57617401/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com