Ссылка проекта на другой проект с другой целевой платформой в Visual Studio - PullRequest
0 голосов
/ 01 февраля 2019

Я занимаюсь разработкой Azure Function в visual studio, она работает хорошо локально.Когда я пытаюсь опубликовать в AZ, выдает ошибку: пожалуйста, измените целевую платформу проекта B на x64 через менеджер конфигурации сборки.

Но я уже так и сделал, иначе он не сможет работать, даже локально.Однако я не изменил целевую платформу на x64 в диалоговом окне после того, как щелкнул правой кнопкой мыши свойства проекта B.

Проблема в том, что после внесения изменений оно не работает даже локально.Проект A с целевой платформой AnyCPU, которая ссылается на peoject B, выдает мне еще одну ошибку: Проект A: Не удалось загрузить файл или сборку, Проект B.

Любая идея о том, как все это должно работать как локально, так и в Azure.Я в начале не в том месте?

Все они в одном решении: вызов проекта Porject A и проект A call проекта B

Спасибо!

1 Ответ

0 голосов
/ 01 февраля 2019

Я обнаружил, что 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 (содержащий среду выполнения) и настроить вручную.

  1. Посетите примечание к выпуску cli , чтобы загрузить последние 64-битные биты (1.x для функций v1 .NET Framework, 2.x для основных функций v2 .NET).Например, для функций v2 в ОС Windows мы могли бы выбрать Azure.Functions.Cli.min.win-x64.2.4.317.

  2. Щелкните правой кнопкой мыши по вашему проекту-> Свойства, выполните отладочную конфигурацию ниже.

    Launch: Executable
    Executable: [x64CliPath]\func.exe
    Application Arguments: host start
    

    enter image description here

  3. Перед публикацией не забудьте изменить платформу на 64-битную в настройках приложения на портале Azure.

...