Путь к файлу .refresh для 32-битных и 64-битных машин - PullRequest
1 голос
/ 03 февраля 2011

В нашей среде у нас есть 32-битные и 64-битные машины для разработки. В VS 2010, когда добавляется ссылка на dll, создается файл обновления, который указывает путь к dll. На 32-битных машинах путь был <drive>:\Program Files\ .... но для 64-битных машин это <drive>:\Program Files <x86)\.....

Файлы обновления находятся под управлением исходным кодом (subversion), поэтому, если я изменю dll для 64-разрядной машины, сборка начнется с ошибкой для 32-разрядных компьютеров. Есть ли способ изменить эти файлы обновления в соответствии с архитектурой системы?

Есть ли другой способ справиться с этим? Я думаю, что один из способов - не включать файлы обновления в Source Control, но это будет означать, что каждый раз, когда мы обновляем наши dll, нам нужно менять dll на каждой машине.

1 Ответ

1 голос
/ 21 марта 2012

Я оставляю файлы обновления «как есть» и сохраняю обе архитектуры в каталоге \lib.

MyLibrary.dll  // (refresh target)
MyLibrary.dll.x86
MyLibrary.dll.x64

Всякий раз, когда мне нужно переключить архитектуры, я выполняю сценарий сборки (или пакетный файл), которыйпросто копирует и перезаписывает все целевые библиотеки обновления в моем \lib.Например, при переходе на x64 MyLibrary.dll.x64 копируется как (и перезаписывается) MyLibrary.dll.

...