Проблема с развертыванием в Google Cloud AppEngine (Flex)

Я пытался развернуть приложение.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

Когда я пытаюсь решить эту проблему в Google, я чаще всего вижу, что люди используют 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: модуль 'enum' не имеет атрибута 'IntFlag'

2) Файл "C:\Users\Maria\AppData\Local\Programs\Python\Python36\lib\os.py", строка 730, в check_str вызывает TypeError(ожидается "str, not %s" % type(значение).name) TypeError: ожидается str, а не байты

2 ответа

Что касается проблемы Python, я вижу, что документация Cloud SDK гласит:

Системные Требования

Cloud SDK работает на Linux, Mac OS X и Windows. Он требует Python 2.7.x и в настоящее время не поддерживает Python 3.

Я практически ничего не знаю о Python, но ваш путь выглядит как Python 3.

Я полагаю, что установщик Cloud SDK включает в себя Python, и есть опция, которую вы можете проверить, чтобы установить связанный Python во время установки.

Казалось, это была проблема с Google Cloud в то время из-за новейшего обновления до 2.0.8. Я вместо этого развернул на Microsoft Azure и не было никаких проблем. Я ожидаю, что через 2 месяца Google Cloud обновится, чтобы быть совместимым.