64-битное решение ASP.NET с C # и один 32-битный проект в Stack Overflow

Я пытаюсь поставить на проект IIS (Windows Server 2012 x64), который имеет одно веб-приложение ASP.NET x64 с одним проектом на C ++, который является одновременно 32- и 64-разрядным. Я попытался заменить 32-битную и 64-битную DLL проекта C ++. Также я перепробовал множество конфигураций: включите и выключите «Предпочитать 32-разрядные» в Visual Studio, измените AnyCPU (для всех проектов) на 64-разрядные, включите и выключите «Включить 32-разрядные приложения» в IIS. Проблема в том, что IIS не видит библиотеку проекта C ++ (которая должна быть в той же папке) или не может загружаться из-за неправильного формата. Я хотел бы запустить все решение в 64-битной версии и, в конечном итоге, в 32-битном проекте C ++, поэтому изменение всего 32-битного не было бы правильным решением. Есть ли способ поставить все на IIS для запуска приложения?

2

Решение

Вы должны выровнять платформы к тому же разрядность. То есть вы либо:

  1. Скомпилируйте как веб-приложение, так и проект, на который ссылается C ++, до 32-битного и установите Включить 32-битное приложение в True для пула приложений IIS.
  2. Скомпилируйте как веб-приложение, так и проект, на который ссылается C ++, до 64-битной версии и установите Включить 32-битное приложение в False для пула приложений IIS.

Если проект C ++ имеет какую-либо другую зависимость от 32-битной DLL, которая не имеет 64-битной версии, это будет проблемой. В этом случае у вас нет другого выбора, кроме как выровнять все по 32-битному.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector