|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - .Net на x64 |
|
|
Разное - .Net на x64
|
Новый участник Сообщения: 6 |
Профиль | Отправить PM | Цитировать После установки на Windows 7 x64 MS VS и создания почти пустого x64 -приложения, ссылки
через C:\Program Files\Reference Assemblies для некоторых системных компонент устанав- ливаются по умолчанию на их 86-версии. Возможно это не так и страшно и ни на что в итоге не повлиляет, ...НО: 1) Дело принципа сослаться на x64 сборки - коль они есть. 2) Возможно способы решения этой проблемы могут быть полезными и в рамках одной платформы. Вопрос: что в такой ситуации можно сделать? P.S. Возможно эта тема вызовет интерес и сама по себе. Кому как не .Net-программистам начать что-то делать на x64?! |
|
Отправлено: 09:06, 09-07-2009 |
Пользователь Сообщения: 119
|
Профиль | Отправить PM | Цитировать Странно, что Visual Studio сама не приспосабливается к x64, хотя, конечно, умеет компилировать код, который выполняется в 64 битах. Может, готовое приложение уже обращается к 64битным аналогам сборок? Ведь запущено оно может быть под любым фреймворком (в котором есть нужные сборки и т.д.) - x86, IA64 или x64.
P.S. К слову, сама IDE выполнена только в x86 варианте. |
Отправлено: 11:21, 09-07-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Спасибо за внимание к моей теме, уважаемый Almanax.
для RELEASE X64 получаются предупреждения: Предупреждение 1 Создание сборки -- Сборка "mscorlib.dll", на которую дается ссылка, предназначена для другого процессора Предупреждение 2 Создание сборки -- Сборка "System.Data.dll", на которую дается ссылка, предназначена для другого процессора Соответствующая справка MSDN несколько успокаивает: При построении 64-разрядного приложения в 32-разрядной операционной системе необходимо обеспечить установку в целевой операционной системе 64-разрядных версий всех связанных сборок. Для всех сборок среды CLR, ориентированных на системы x86, предусмотрены 64-разрядные аналоги (каждая сборка CLR будет существовать во всех операционных системах). Поэтому для сборок CLR предупреждение CS1607 можно пропустить(!!!). -------------------------------------------------------------------------------------------------------!!! Если посмотреть свойства ссылки System.Core, то виден путь C:\Program Files (x86)\Reference Assemblies, а не C:\Program Files\Reference Assemblies - как бы хотелось. Я не знаю как это осуществить! Возможно вы или кто-то другой это знает!? |
Отправлено: 14:26, 09-07-2009 | #3 |
Пользователь Сообщения: 119
|
Профиль | Отправить PM | Цитировать VS2008 или 2005?
|
Отправлено: 15:59, 09-07-2009 | #4 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать VS2008 - а что есть какая-то принципиальная разница!?
|
|
Отправлено: 16:03, 09-07-2009 | #5 |
Пользователь Сообщения: 119
|
Профиль | Отправить PM | Цитировать Не уверен... А ОС я так понял x86?
|
Отправлено: 17:59, 09-07-2009 | #6 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать VS2008(1!) - я же знаю, что у меня установлено под Windows 7 x64(2!) - об этом есть в моем 1-м сообщении
ответы на 2 последних вопроса "в одном флаконе" Да, кстати абсолютно таже картина будет и на Windows XP SP3 x86, которая у меня на данный момент основная. Хотя, мне кажется никто не должен мне препятствовать создать(! не запускать) с помощью VS2008 в операционной системе x86-платформы x64-приложение на С#, которое просто выводит пустую форму без контролов. В этом плане такое ощущение, что дело не в платформе OC, а в самой VS. Просто, для чистоты экспериментов я делаю все под Windows 7 x64. Ну, и чтобы запустить можно было. |
Отправлено: 18:07, 09-07-2009 | #7 |
Пользователь Сообщения: 119
|
Профиль | Отправить PM | Цитировать Извини , уже забыл))
Дело, конечно, в самой VS. Думаю, при компиляции в Vista x64 получается тот же эффект. Сейчас нет рядом x64 ОС. В C:\Program Files\Reference Assemblies (Win7x64) эти сборки вообще есть? |
Отправлено: 21:19, 09-07-2009 | #8 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Уважаемый Almanax!
Прежде всего, во Windows 7 x64 64-разрядные приложения группируются в Program Files, а 32-разрядные в Program Files (x86). Далее: 1) В C:\Windows\assembly в графе "Архитектура процессора" встечаются значения: x86, AMD64, MSIL. В частности, mscorlib есть MSIL и AMD64.Аналогично и для System.Data.А вот System.Core там только MSIL. ( думаю, что AMD64 нужно понимать просто как х64). 2) Много еще где хранятся сборки .Net( они там предустановлены). В частности, в C:\Windows\Microsoft.NET\Framework и C:\Windows\Microsoft.NET\Framework64. 3) В C:\Program Files (x86)\Reference Assemblies: - mscorlib отсутствует; - System.Data отсутствует; В C:\Program Files\Reference Assemblies - аналогично 4) А вот System.Core есть в обоих "Референсах", но берется из C:\Program Files (x86)\Reference Assemblies и для платформы x64. Это видно из свойств этой ссылки в проекте x64. Если у вас нет 64-разрядной OC, то вам будет сложно предложить что-нибудь путное.Но кто знает? |
Отправлено: 00:23, 10-07-2009 | #9 |
Пользователь Сообщения: 119
|
Профиль | Отправить PM | Цитировать Цитата knibrest:
Цитата knibrest:
MSIL означает, что сборка будет браться из той папки, которая содержит сборки архитектуры среды. Т.к. System.Core определяется как MSIL, то и результат для него соответствующий. Т.к. VS2008 (как и 2005, 2010 CTP) выполнена в x86 варианте и является средой выполнения вашей программы на момент её компиляции, она и показывает вам сборки из папки Program Files (x86). После компиляции проекта ваш .exe или .dll содержат не машинный код, а код промежуточного языка IL, который при запуске программы перекомпилируется в машинный код средой выполнения (Framework x86 или Framework x64). Вот на этой стадии уже берутся сборки из нужной папки и нужной архитектуры. |
||
Отправлено: 13:48, 10-07-2009 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Система - WinTools.net 9.11.1 + Vista x64 | d_u | Программное обеспечение Windows | 0 | 10-01-2010 19:01 | |
[решено] HUAWEI EC226 - драйвер для Windows Vista x64 есть а под XP x64 нету - как решить? | crashtuak | Поиск драйверов, прошивок и руководств | 3 | 16-08-2009 21:32 | |
ищу KB922498 для Windows XP x64 или Windows Server 2003 x64 | front242 | Microsoft Windows NT/2000/2003 | 19 | 07-05-2008 19:12 | |
.NET - *Теория*(VB.NET || C#.net ) Нужен алгоритм для мини - игры | ssdm | Программирование и базы данных | 11 | 17-05-2007 02:12 | |
Сравнение VB.NET и Visual C++.NET | Commander | Программирование и базы данных | 5 | 09-05-2003 19:05 |
|