当我尝试将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
答案 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