Проблема с развертыванием в 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 обновится, чтобы быть совместимым.