VS build - 32 бит против 64 - PullRequest
       40

VS build - 32 бит против 64

0 голосов
/ 17 июня 2010

ASP.NET 4.0:

Мой ноутбук работает под управлением 64-разрядной версии Win7 Ultimate с использованием VS 2010 и IIS7.

Все мои серверы для разработки, подготовки и производства - все это 32-битный сервер 2003 с IIS6 (очевидно).

Вопросы:

  1. Я знаю, что действительно не поддерживается, но есть ли способ заставить IIS6 работать на моем ноутбуке под Win7? Было бы неплохо поддерживать согласованность конфигурации между моей локальной средой и конвейером развертывания, но я отказываюсь возвращаться к XP.

  2. Если я скомпилирую под VS2010 на Win7 с флагом «Any CPU», установленным в целевой конфигурации, будут ли сгенерированные сборки независимыми от цели? То есть они 64- или 32-битные, или они действительно будут работать на одном? (Мой обычный метод «попробуй и посмотри» на данный момент не работает по ряду не связанных между собой причин).

  3. На моем ноутбуке у меня есть папки Framework и Framework64. Если сборки не зависят от цели, в чем разница между ними и сборками, которые VS генерирует из моего кода? Если они не зависят от цели, почему у меня есть две отдельные папки? Есть ли разница в производительности между этими двумя версиями?

Заранее спасибо.

1 Ответ

1 голос
/ 17 июня 2010
  1. Насколько я знаю, нет способа запустить версию IIS, отличную от той, которая основана на ОС.Поскольку IIS привязан к установке любой имеющейся ОС (6.0 в XP и Server 2003, 7.0 в Vista и Server 2008 и 7.5 в Win7 и Server 2008 R2), вы не сможете установить другую версию - вы будете устанавливатьвам нужно местоположение XP или 2003, чтобы проверить, хотите ли вы использовать IIS6.

  2. Они не зависят от цели.На самом деле VS не компилирует машинный код - он компилирует в IL («промежуточный язык»), который .NET Framework на конечном компьютере (x64 или x86, в зависимости от установленной версии ОС) компилирует в машинный код, которыйработает изначально.Таким образом, компиляция для AnyCPU позволит вам запустить либо.Если вы предпочитаете, вы можете нацеливаться на x86 при компиляции, и они будут работать на ваших серверах x86 и использовать WoW на вашей машине x64, так что вы фактически будете выполнять один и тот же код на обоих.

  3. Это просто означает, что у вас установлены обе версии фреймворка - x64 и x86.Сборки не зависят от цели, но соответствующая версия платформы преобразует сборки .NET IL в машинный код, который выполняется непосредственно на ПК.Для этого требуется компилятор x86 для компиляции с машинным кодом x86 (если у вас процессор x86) и то же самое для x64.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...