【问题标题】:Deploy ASP.NET Core 2.1 app to Google Cloud App Engine error: bad character range将 ASP.NET Core 2.1 应用部署到 Google Cloud App Engine 错误:字符范围错误
【发布时间】:2019-02-02 23:05:58
【问题描述】:

当我尝试将 ASP.NET Core 2.1 Web 应用程序发布到 Google Cloud Platform App Engine 时,我收到错误 gcloud crashed (error): bad character range。

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

我在项目中使用 app.yaml 从 cmd 发布,但出现上述错误。

为了将 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 crashed (error): bad character range

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

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

【问题讨论】:

  • 没人知道吗?如果需要,我可以添加更多信息。

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


【解决方案1】:

目前正在调查此问题,很快就会发布修复程序。作为一种解决方法,请通过运行以下命令将您的 Cloud SDK 版本降级到 212.0.0:

gcloud 组件更新 --version 212.0.0

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

此外,请关注此Issue Tracker thread 以获取有关此问题状态的更新。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 抱歉反应迟了。上面的例子给出了同样的错误。
    猜你喜欢
    • 2019-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多