我创建了一个我正在尝试部署到Google Cloud Platform的ASP.NET Core 2.1应用程序。它在本地使用dotnet build
构建得很好。
但是,我无法通过Google Cloud Shell构建它。运行dotnet --version
确认Google Cloud Shell已安装.NET Core 2.0。
运行gcloud app deploy
启动应用程序的部署,但我从日志中收到一个神秘的错误:
步骤#0:状态:已下载更新的图像gcr.io/gcp-runtimes/aspnetcorebuild@sha256:ad1b788a9b4cca75bb61eb523ef358ca059c4bd208fba15a10ccc6acab83f49a
步骤#0:找不到应用程序完成步骤#0的.deps.json文件
错误:构建步骤0“gcr.io/gcp-runtimes/aspnetcorebuild@sha256:ad1b788a9b4cca75bb61eb523ef358ca059c4bd208fba15a10ccc6acab83f49a”失败:退出状态1
我的印象是GCP默认支持.NET Core 2.1容器,所以我没有包含Dockerfile。
我正在尝试部署到灵活的环境,这是我的app.yaml
文件:
runtime: aspnetcore
env: flex
我是否需要创建自定义Docker容器?或者是否有其他方法可以在Google Cloud Shell中获得对.NET Core 2.1的支持?
编辑:目前我已经安装了Google Cloud Tools,在运行gcloud app deploy
后在本地运行dotnet publish
。
我试图重现它 - 事实上,Cloud Shell仅支持.NET Core 2.0。我已经与合适的工程师提出了这一点,因此更新了Cloud Shell映像以支持.NET Core 2.1。
同时:
请记住,Microsoft在dotnet核心映像上从aspnetcore切换到dotnet。 https://hub.docker.com/r/microsoft/dotnet/