【发布时间】:2018-05-18 16:12:48
【问题描述】:
我尝试将 .NET 应用从 Visual Studio 部署到 Google Cloud App Engine (flex),但反复收到以下错误:
“未找到应用程序依赖项清单 (.deps.json) 中指定的程序集:包:'Microsoft.AspNetCore.Antiforgery',版本:'2.0.3' 路径:'lib/netstandard2.0/Microsoft. AspNetCore.Antiforgery.dll'
此程序集应位于本地运行时存储中,因为应用程序是使用以下目标清单文件发布的:aspnetcore-store-2.0.8.xml"
我已经下载了最新的 .NET Core SDK 和最新的运行时文件。我可以在这个路径看到防伪 dll 文件:
C:\Program Files\dotnet\store\x64\netcoreapp2.0\microsoft.aspnetcore.antiforgery\2.0.3\lib\netstandard2.0\Microsoft.AspNetCore.Antiforgery.dll
当我尝试用谷歌搜索这个问题时,我大多看到人们提到使用 Microsoft Azure 而不是 Google Cloud,所以我不确定这些解决方案是否适合我?通常,这些解决方案指的是不是相同版本号的“运行时”?我对此比较陌生,所以如果能得到任何帮助,我将不胜感激!
哦,还有,在我的 .csproj 中使用以下代码行:
<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
修复了错误,以便我能够部署到云端,但我了解到这不是一个好的解决方案,所以我想尝试在不使用该行代码的情况下修复它。
另外,当我尝试安装 google cloud SDK 时,出现以下两个错误:1) 文件“C:\Users\Maria\AppData\Local\Programs\Python\Python36\lib\re.py”,第 142 行, 在类 RegexFlag(enum.IntFlag): AttributeError: module 'enum' has no attribute 'IntFlag'
2) 文件 "C:\Users\Maria\AppData\Local\Programs\Python\Python36\lib\os.py",第 730 行,在 check_str 中引发 TypeError("str expected, not %s" % type( value).name) TypeError: str expected, not bytes
【问题讨论】:
-
检查this post。我会先用 16 个赞成票检查答案,但我打赌 8 个赞成票会提供正确的解决方案。看到
aspnetcore-store-2.0.8.xml和version: '2.0.3' path很奇怪。
标签: google-app-engine asp.net-core-mvc asp.net-core-2.0 app-engine-flexible dotnet-sdk