Определения зависимостей - PullRequest
2 голосов
/ 19 мая 2011

У меня есть проект на C #, который нужно скомпилировать как x86 или x64 и ссылаться на разные собственные сборки в зависимости от архитектуры. Я понимаю, что могу включить их обоих и назначить разные псевдонимы, и в каждом файле использовать оператор #if, но это довольно громоздко.

Есть ли способ изменить зависимости проекта в зависимости от условия компилятора?

Ответы [ 2 ]

2 голосов
/ 19 мая 2011

Самый простой способ - использовать конфигурации сборки. Вам нужно немного отредактировать файл MSBuild (.csproj) вручную, но он работает очень хорошо:

Эта ссылка Имеет отличный пример того, как это сделать.

0 голосов
/ 19 мая 2011

К сожалению, это ПИТА! Я сомневаюсь, что ваше утверждение #if сработает (я оставляю за собой право быть доказанным неправильно), поскольку каждая зависимость должна быть ссылкой в ​​разделе ссылок. Я обошел его, отредактировав файл msbuild (.csproj) каждого проекта и создав условную ItemGroup, в которой есть ссылки на соответствующую платформу.

<ItemGroup Condition="'$(Platform)' == 'x86'">
   <Reference Include="System" />
   <Reference Include="System.Data" />
   <Reference Include="System.Xml" />
</ItemGroup>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...