Есть ли какое-то преимущество при создании моего приложения .NET с 64-битной средой? - PullRequest
12 голосов
/ 09 апреля 2009

Мы используем msbuild для сборки нашего .NET-приложения на сервере, предназначенном для сборок. Мы переходим на новое оборудование с 64-битной Windows 2003. Я могу собрать приложение, используя 64-битную версию msbuild, найденную в Framework64, или я могу построить ее, используя 32-битную версию, найденную в Framework. Есть ли какое-то преимущество для сборки с 64-битной версией msbuild?

Ответы [ 5 ]

10 голосов
/ 09 апреля 2009

Не особо нет. Единственное реальное преимущество заключается в том, что 64-битная версия msbuild сможет использовать больше адресного пространства. Это действительно об этом.

2 голосов
/ 02 марта 2016

Если MSBuild выполняет тесты, которые зависят от библиотек x64; или если ваш процесс сборки требует загрузки собственных библиотек x64, вам нужно использовать msbuild x64.

Нам пришлось использовать msbuild x64, потому что мы выполняли тесты xunit, и некоторые из наших библиотек имели , чтобы быть x64, потому что они вызывают родные библиотеки x64.

Теоретически мы могли бы использовать другой бегунок для запуска процесса x64 для запуска тестов; но использовать msbuild x64 проще всего.

Как отмечено в https://xunit.github.io/docs/running-tests-in-msbuild.html:

Вы можете использовать задачу <exec> в MSBuild для запуска консоли. Вы можете использовать консоль, если вам нужно больше контроля над выполнением тестов в 32- и 64-битных средах. При использовании бегуна MSBuild вы ограничены выбором битности исполняемого файла MSBuild, который вы использовали для запуска вашей сборки.

Обратите внимание, что это не имеет ничего общего с компиляцией - мы могли бы построить наш проект только для x64 с использованием msbuild x86.

2 голосов
/ 09 апреля 2009

Нет, но могут быть некоторые недостатки ... если ваше приложение использует драйверы сторонних производителей, убедитесь, что они также совместимы с 64-разрядными системами. Мы столкнулись с проблемой, когда мы преобразовали старое приложение в .net и сохранили настройку по умолчанию «Цель платформы: любой процессор» в Build-> General, и в то время, как приложение работало очень хорошо на его машине разработчика, как только мы переместили его 64-битный сервер умер. Нам потребовалось некоторое время, чтобы отследить его до стороннего драйвера ODBC, который нам необходим для взаимодействия с внешним источником данных. Приложение DID работает на 64-битной платформе, нам просто нужно было указать x86 для процессора, который как бы не справляется с этой задачей.

1 голос
/ 09 апреля 2009

Если вы собираетесь использовать asp.net, одним большим преимуществом является то, что IIS может получить доступ к большему объему памяти, что обеспечивает большую масштабируемость

Точка, а не скалы, ребята сделали шоу на этом
http://www.dotnetrocks.com/default.aspx?showNum=341

есть много действительно полезной информации.

0 голосов
/ 09 апреля 2009

Сборки взаимодействия Biztalk являются одним из прекрасных примеров сборок, которые НЕ поддерживают 64-битную архитектуру. Так что тестируйте и тестируйте снова, когда / после совершения такого шага.

...