32-разрядный сервер сборки и 64-разрядный производственный сервер для веб-приложений .NET

Наши рабочие станции работают под управлением 64-битной Vista, а производственные серверы для наших веб-приложений ASP.NET MVC - это 64-битные серверы Server 2008. Однако наш сервер сборки, на котором работает TeamCity, является 32-разрядным сервером Server 2008. Мы возьмем эти сборки и развернем их на 64-битных производственных серверах. Все приложения написаны на C #. Стоит ли мне беспокоиться о сборке в 32-битной среде? Нужно ли обновлять наш сервер сборки?


person Lance Fisher    schedule 08.02.2009    source источник


Ответы (2)


Технически с этим не должно возникнуть проблем, поскольку компилятор будет генерировать только код IL, который не зависит от платформы.

Приложение .NET будет работать в среде x64 CLR в производственной среде. Во время выполнения JIT-компилятор создает код x64.

person mmx    schedule 08.02.2009
comment
Спасибо. Я думал, что это так, но хотел убедиться. - person Lance Fisher; 08.02.2009
comment
Даже если вы генерируете платформо-зависимый код (из C или C ++), можно было бы разумно ожидать, что кросс-компилятор x64, работающий на x86, будет генерировать тот же код, что и собственный компилятор x64. - person bk1e; 08.02.2009
comment
Конечно! Кодовая база компилятора обычно одинакова для всех платформ, на которых он компилируется для работы. - person mmx; 08.02.2009
comment
Немного поздно, но просто добавлю: даже Visual Studio 2010 по-прежнему использует 32-разрядную сборку msbuild. Например, инструменты разработчика SharePoint 2010 на самом деле не будут работать с 64-разрядной версией msbuild (поскольку .workflow.targets доступны только для 32-разрядной версии), несмотря на то, что SP2010 является обязательным 64-разрядным. - person Michael Stum; 26.07.2010
comment
У меня есть образец студийного проекта здесь cid-812b0df85863a595.office.live. com / self.aspx / Public / Как мне изменить решение для правильной компиляции и сборки на 64-битном веб-сервере w7? - person David; 20.11.2010

По моему опыту, компиляция приложения на 32-битном компьютере и его развертывание на 64-битном компьютере замедлит работу приложения. Однако для веб-приложений все может быть иначе.

person BBetances    schedule 08.02.2009