Изменить веб-сайт для использования платформы x86

Проблема:

Я унаследовал решение, в котором есть 4 части. Две из этих частей — проекты C#, используемые для работы с базами данных. Там достаточно легко. Две другие части — это веб-сайты. Прямо сейчас в Configuration Manager все настроено на использование AnyCpu. Что мне нужно сделать, так это изменить веб-сайты на x86 по этой конкретной причине:

Microsoft.Win32.RegistryKey rk = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"Software\<My Company>\<My Application>", false);

Примечание. Внутри знаков ‹> это не буквально Моя компания. Я просто имею в виду название моей компании.

Проведя некоторые исследования, я узнал следующее:

  1. .NET app compiled for "x86":
    • Always 32-bit
    • На 32-битных платформах обращается к 32-битному реестру.
    • На 64-битных платформах обращается к 32-битному реестру (внутри Wow6432Node)
  2. .NET app compiled for "x64":
    • Always 64 bit
    • На 32-битных платформах не запускается
    • На 64-битных платформах обращается к 64-битному реестру (не внутри Wow6432Node).
  3. .NET app compiled for "AnyCpu"
    • Either 32 or 64 bit depending on platform
    • На 32-битных платформах обращается к 32-битному реестру.
    • На 64-битных платформах обращается к 64-битному реестру (не внутри Wow6432Node).

Итак, что мне НУЖНО, так это иметь возможность компилировать для x86, поскольку приложение установлено как 32-разрядное и будет отображаться в папке Wow6432Node в 64-разрядных ОС.

Мой вопрос:

Можно ли изменить целевую платформу веб-сайта после его первоначальной настройки?

Что я пробовал:

  1. Внутри VS 2010 перейдите в «Сборка» -> «Диспетчер конфигураций».
  2. Под платформой активного решения: выберите «Создать...».
  3. Добавьте платформу x86.
  4. Попытка изменить два моих веб-сайта на x86.

Шаг 4, где он терпит неудачу. х86 не вариант. Он прекрасно отображается для двух моих проектов на С#. Возможно ли это изменить?

Любая помощь или понимание очень ценятся!


person Vahlkron    schedule 20.09.2013    source источник
comment
В моем диспетчере конфигураций, когда я создаю новую платформу решений, я получаю флажок для автоматического создания новых платформ проектов. У вас есть такой вариант?   -  person Rob    schedule 20.09.2013
comment
да. Я пробовал и проверенный, и непроверенный. Это не сработало для меня в любом случае.   -  person Vahlkron    schedule 20.09.2013
comment
Кроме того, на странице свойств сборки веб-проекта есть раскрывающийся список для выбора целевой платформы. Вы можете это изменить?   -  person Rob    schedule 20.09.2013
comment
У меня нет целевой платформы, если я перехожу на вкладку "Сборка", щелкнув правой кнопкой мыши веб-сайт и выбрав "Страница свойств". У меня есть Target Framework, и я установил .NET Framework 3.5.   -  person Vahlkron    schedule 20.09.2013
comment
У меня есть Target Framework на вкладке Application свойств проекта. Вкладка сборки находится ниже.   -  person Rob    schedule 20.09.2013
comment
Вероятно, у вас есть проект веб-приложения ASP.NET. Тип проекта, о котором я говорю, — это веб-сайт ASP.NET. Из того, что я могу сказать, VS позволит вам создать его только на уже существующем решении с чем-то в нем. Вы должны щелкнуть решение правой кнопкой мыши в обозревателе решений и выбрать Добавить --> Новый веб-сайт. Тогда вариант будет.   -  person Vahlkron    schedule 20.09.2013
comment
Извиняюсь - вы правы. Похоже, у меня нет возможности создать веб-сайт, а не проект веб-приложения, возможно, из-за того, как я установил VS2010.   -  person Rob    schedule 20.09.2013
comment
Я решил большую проблему установки моего приложения на 64-разрядную версию Server 2003 R2, но я все еще не знаю, возможно ли это, поэтому я оставлю ее в надежде, что решение существует.   -  person Vahlkron    schedule 20.09.2013
comment
Ответил здесь: cpu" title="visual studio 2010, как заставить веб-сайт asp net использовать x86 вместо любого процессора"> stackoverflow.com/questions/5656468/   -  person Dave White    schedule 20.02.2016


Ответы (1)


Дэйв Уайт прав в комментариях, на это есть ответ в другом потоке: https://stackoverflow.com/a/5656769/1037864

(Ответ заключается в том, чтобы установить компиляторOptions="/platform:x86" в элементе компилятора в web.config)

person Björn    schedule 08.04.2016