Я обнаружил, что Platform target
на страницах свойств (иначе щелкнув правой кнопкой мыши на Project, Properties> Build
) действительно контролирует платформу.Оставьте это как Any CPU
и измените Configuration manager
на x64, проекты построены как x86, то есть предпочтение Any CPU
.Я также нахожу в новом проекте изменение Configuration manager
на x64, Platform target
автоматически изменяется на x64, а проекты встроены в биты x64.
Так что я думаю, хорошо работает локально произошло потому, что ваши проекты нацелены на x86 раньше.После изменения Platform target
x64 не работает должным образом из-за несоответствия платформы проектов.
Исходя из этого, я бы предложил, как сказал @Jeremy, убедиться, что для всех платформ проекта установлено значение Any CPU
, мы можем удалить настройки платформы x64 напрямую для чистой конфигурации.
Если вы решите установить для всей платформы проекта x64, выполните следующие действия.
VS использует среду выполнения x86 по умолчанию, для отладки функций x64 нам нужно загрузить x64 cli (содержащий среду выполнения) и настроить вручную.
Посетите примечание к выпуску cli , чтобы загрузить последние 64-битные биты (1.x для функций v1 .NET Framework, 2.x для основных функций v2 .NET).Например, для функций v2 в ОС Windows мы могли бы выбрать Azure.Functions.Cli.min.win-x64.2.4.317
.
Щелкните правой кнопкой мыши по вашему проекту-> Свойства, выполните отладочную конфигурацию ниже.
Launch: Executable
Executable: [x64CliPath]\func.exe
Application Arguments: host start
Перед публикацией не забудьте изменить платформу на 64-битную в настройках приложения на портале Azure.