Visual Studio Web Developer 2010 Express и 64-разрядная версия - PullRequest
0 голосов
/ 02 ноября 2011

У меня есть приложение ASP.NET MVC 3 .NET под Visual Web Developer Express 2010.

По умолчанию он построен как «Любой процессор». При тестировании Environment.Is64BitProcess всегда возвращает false (у меня Windows 7 64 бит). Я пытался задать вопрос переполнения стека Изменить целевые настройки ЦП в Visual Studio 2010 Express для x86 и x64, но это всегда приводит к ошибке, что-то вроде:

Cannot load type 'MyApp.UI.MvcApplication'.

и указывает на файл global.asax только одной строкой:

<%@ Application Codebehind="Global.asax.cs" Inherits="MyApp.UI.MvcApplication" Language="C#" %>

Как я мог это исправить?

1 Ответ

1 голос
/ 02 ноября 2011

Все зависит от того, какой процесс является хостингом вашего сайта.

  • Если вы используете Cassini или IIS Express, это всегда будет 32-битное приложение, потому что эти процессы всегда 32-битные.

  • Если вы используете IIS, то это зависит от того, какой установлен ваш AppPool.

Настройки процессора влияют на то, под чем он может работать, а не на то, на что он должен .

  • Любой ЦП означает, что сборка может работать как 64-разрядная или 32-разрядная.
  • x86 означает, что он может только работать в 32-битном процессе.
  • x64 означает, что он может только работать в 64-битном процессе.

Эти настройки более типичны, когда у вас разные сборки для разных платформ, например, если они имеют очень специфический вызов платформы для каждой из них. Или, если у вас есть отдельный исполняемый файл, который вы хотите всегда запускать 32-битный, даже в 64-битной среде. Как правило, для ASP.NET вы хотите, чтобы ваши сборки были любыми процессорами, и используйте конфигурацию IIS, чтобы решить, собираетесь ли вы использовать 32-разрядный или 64-разрядный AppPool.

Для IIS 7+ вы должны заглянуть в «Дополнительные настройки пула приложений». Установите Enabled 32-bit applications на True для 32-разрядных или False для 64-разрядных.

Если ваш сайт работает на IIS Express или Cassini, то у вас нет выбора.

...