Cloud Build dotnet 失败 - 不支持定位版本
Cloud Build dotnet fails - does not support targeting version
正在尝试使用 GCP Cloud Build 构建 aspnet 核心代码。
以下yaml
:
steps:
- name: 'microsoft/dotnet:sdk'
entrypoint: 'dotnet'
args: [ 'publish', 'folder/proj.csproj', '-c', 'Release' ]
失败并出现下一个错误:
/usr/share/dotnet/sdk/2.1.816/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets(150,5): error NETSDK1045: The current .NET SDK does not support targeting .NET Standard 2.1. Either target .NET Standard 2.0 or lower, or use a version of the .NET SDK that supports .NET Standard 2.1. [/workspace/folder/common.csproj]
/usr/share/dotnet/sdk/2.1.816/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets(137,5): error NETSDK1045: The current .NET SDK does not support targeting .NET Core 3.1. Either target .NET Core 2.1 or lower, or use a version of the .NET SDK that supports .NET Core 3.1. [/workspace/folder/proj.csproj]
有没有办法支持不同版本的 dotnet?
Cloud Build 仅从某些注册表中拉取容器镜像,例如 Docker Hub、Container Registry、Artifact Registry 等。在这种情况下,您需要替换 name
脚本中的字段。
通过使用 microsoft/dotnet:sdk
,您的脚本将获得导致不兼容的默认构建。根据错误,它使用 2.1.816
而您的应用程序需要 .NET 3.1.
因此,我建议您将 microsoft/dotnet:sdk
替换为 mcr.microsoft.com/dotnet/sdk:3.1
。有关详细信息,请参阅 Docker Hub Container Image Library。
正在尝试使用 GCP Cloud Build 构建 aspnet 核心代码。
以下yaml
:
steps:
- name: 'microsoft/dotnet:sdk'
entrypoint: 'dotnet'
args: [ 'publish', 'folder/proj.csproj', '-c', 'Release' ]
失败并出现下一个错误:
/usr/share/dotnet/sdk/2.1.816/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets(150,5): error NETSDK1045: The current .NET SDK does not support targeting .NET Standard 2.1. Either target .NET Standard 2.0 or lower, or use a version of the .NET SDK that supports .NET Standard 2.1. [/workspace/folder/common.csproj]
/usr/share/dotnet/sdk/2.1.816/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets(137,5): error NETSDK1045: The current .NET SDK does not support targeting .NET Core 3.1. Either target .NET Core 2.1 or lower, or use a version of the .NET SDK that supports .NET Core 3.1. [/workspace/folder/proj.csproj]
有没有办法支持不同版本的 dotnet?
Cloud Build 仅从某些注册表中拉取容器镜像,例如 Docker Hub、Container Registry、Artifact Registry 等。在这种情况下,您需要替换 name
脚本中的字段。
通过使用 microsoft/dotnet:sdk
,您的脚本将获得导致不兼容的默认构建。根据错误,它使用 2.1.816
而您的应用程序需要 .NET 3.1.
因此,我建议您将 microsoft/dotnet:sdk
替换为 mcr.microsoft.com/dotnet/sdk:3.1
。有关详细信息,请参阅 Docker Hub Container Image Library。