将ASP.NET Core 2.1应用程序部署到Google Cloud App Engine错误:字符范围错误

时间:2018-08-28 10:32:25

标签: google-app-engine asp.net-core google-cloud-platform asp.net-core-2.1 app-engine-flexible

当我尝试将ASP.NET Core 2.1 Web应用程序发布到Google Cloud Platform App Engine时,出现错误gcloud crash(错误):字符范围错误。

我使用GCP Visual Studio 2017扩展进行发布,但出现上述错误。

我从cmd在项目中发布了一个app.yaml,但出现了以上错误。

为了将ASP.NET Core 2.1 Web应用程序部署到Google Cloud App Engine,我添加了一个app.yaml文件,其内容如下:

runtime: aspnetcore
env: flex

我做了以下事情:

通过以下方式添加了app.yaml

runtime: aspnetcore
env: flex

将其添加到csproj

 <ItemGroup>
    <None Include="app.yaml" CopyToOutputDirectory="Always" />
  </ItemGroup>

并执行命令

gcloud beta app deploy ./bin/release/netcoreapp2.1/publish/app.yaml

但是我遇到了错误:gcloud崩溃了(错误):字符范围错误

有人知道我在做什么错吗?

我遵循以下指南,但在尝试方法1、2和3时仍然遇到相同的错误:https://cloudplatform.googleblog.com/2017/10/4-ways-you-can-deploy-an-ASP.NET-Core-app-to-GCP.html

2 个答案:

答案 0 :(得分:2)

此问题目前正在调查中,应尽快发布修复程序。解决方法是,通过运行以下命令将Cloud SDK版本降级为212.0.0:

gcloud组件更新-版本212.0.0

将Cloud SDK的版本降级到212.0.0或更低的版本是可行的,因为在213.0.0版中似乎已实现一些更改,导致gcloud使用的yaml解析器出现问题。

此外,请遵循此Issue Tracker thread以获得有关此问题状态的更新。

答案 1 :(得分:0)

您应该先导航到发布目录,然后从那里进行部署。确保app.yaml文件在发布目录中。

dotnet publish -c Release
cd ./bin/Release/netcoreapp2.1/publish
gcloud app deploy