сборка сборок на 64-битной платформе для 32-битной - PullRequest
1 голос
/ 16 июня 2009

Какой вариант выбрать для соответствия сборок на 64-битной платформе для сервера 32-битной платформы. Как в настоящее время я пытаюсь опубликовать на 32-битном сервере. Я использую VS2005 на компьютере с Windows Vista, чтобы построить свой проект, а затем опубликовать на сервере, но я получаю ошибки. Любая идея, как я могу решить эту проблему.

Должен ли я использовать опцию AnyCPU на 64-битной машине или опцию Mixed Platform. Также опция x86 отключена, и я не знаю почему.

Ответы [ 2 ]

2 голосов
/ 16 июня 2009

Используйте AnyCPU. Пока ваша сборка не имеет каких-либо прямых неуправляемых зависимостей или зависимостей от сборок, помеченных для конкретного ЦП, тогда ваша сборка будет работать нормально на 64- или 32-битных

1 голос
/ 16 июня 2009

Если вы работаете на управляемом языке, то компиляция в AnyCPU должна быть кроссплатформенной (64/32 бит), потому что сгенерированный IL не превращается в машинные инструкции до тех пор, пока код не будет JITted при запуске.

Существует очень мало исключений, когда вы можете получить битовые зависимости, если вы используете определенные конструкции, основанные на размере указателей и т. Д., Но они, как правило, не появляются в вашем коде, хотя это не помешает запустить FxCop поверх вашего кода, чтобы убедиться (в FxCop есть раздел, посвященный переносимости, который охватывает эти проблемы)

...