Как загрузить конкретную версию сборки - PullRequest
4 голосов
/ 20 сентября 2008

Для завершения тестирования мне нужно загрузить 64-битную версию сборки, даже если я использую 32-битную версию Windows. Возможно ли это?

Ответы [ 4 ]

4 голосов
/ 20 сентября 2008

Я не уверен, почему вы хотели бы сделать это, но я полагаю, вы могли бы. Если вы ничего не сделаете, чтобы сказать иначе, CLR загрузит версию сборки, специфичную для используемого вами процессора. Обычно это то, что вы хотите. Но у меня был случай, когда мне нужно было загрузить нейтральную версию IL сборки. Я использовал метод загрузки , чтобы указать версию. Я не пробовал это (и другие здесь предлагают, что это не будет работать для исполняемой сборки), но я предполагаю, что вы можете сделать то же самое, чтобы указать, что вы хотите загрузить 64-битную версию. (Вам нужно будет указать, хотите ли вы версию AMD64 или IA64.)

1 голос
/ 20 сентября 2008

Из CLR Via C # (Джефф Рихтер):

"Если ваши файлы сборки содержат только безопасный для типов управляемый код, вы пишете код, который должен работать как в 32-битной, так и в 64-битной версии Windows. нет Изменения исходного кода необходимы для того, чтобы ваш код работал в любой версии Windows.

На самом деле, результирующий файл EXE / DLL, созданный компилятором, будет работать на 32-битной Windows, а также 64-разрядные версии Windows для x64 и IA64! Другими словами, один файл будет работать на любом компьютер, на котором установлена ​​версия .NET Framework. "

"Компилятор C # предлагает ключ командной строки / platform. Этот ключ позволяет вам указать может ли полученная сборка работать на компьютерах с архитектурой x86, работающих под управлением 32-разрядных версий Windows только для компьютеров x64 с 64-разрядной версией Windows или компьютеров Intel Itanium с 64-разрядной версией Только для Windows Если вы не укажете платформу, по умолчанию используется anycpu, что означает, что Полученная сборка может работать на любой версии Windows.

0 голосов
/ 20 сентября 2008

Нет, вы не можете запускать сборки, скомпилированные для 64-битной системы, в системе, работающей под 32-битной версией Windows.

0 голосов
/ 20 сентября 2008

32-битная Windows не может запускать 64-битные исполняемые файлы без ВМ / emutalor

32-битная Windows может компилироваться для выполнения на 64-битной Windows

...