Изменить ссылочный путь на основе цели сборки - PullRequest
0 голосов
/ 26 июля 2011

У меня есть проекты модульного тестирования, которые требуют некоторых внешних зависимостей.Эти зависимости доступны в двух вариантах: i386 (........ \ External \ EA \ i386 \ Core.dll) и amd64 (........ \ External \ EA \ amd64 \ Core.dll),

  <ItemGroup>
    <Reference Include="Core">
      <HintPath>..\..\..\..\External\EA\amd64\Core.dll</HintPath>
    </Reference>
    <Reference Include="Util">
      <HintPath>..\..\..\..\External\EA\amd64\Util.dll</HintPath>
    </Reference>

MsTest - 32 бита, и я хочу, чтобы путь этих сборок был ........ \ External \ EA ** i386 ** \ Core.dll.Другими словами, как мне сказать msbuild выбрать правильную цель сборки.

Спасибо

1 Ответ

0 голосов
/ 26 июля 2011

Просто наложите условие на ссылки или, как показано ниже, на содержащую их группу элементов,

<ItemGroup
   Condition="'$(Platform)' == 'x64'">
   <Reference Include="Core">
      <HintPath>..\..\..\..\External\EA\amd64\Core.dll</HintPath>
   </Reference>
   <Reference Include="Util">
      <HintPath>..\..\..\..\External\EA\amd64\Util.dll</HintPath>
   </Reference>
</ItemGroup>
<ItemGroup
   Condition="'$(Platform)' == 'Win32'">
   <Reference Include="Core">
      <HintPath>..\..\..\..\External\EA\i386\Core.dll</HintPath>
   </Reference>
   <Reference Include="Util">
      <HintPath>..\..\..\..\External\EA\i386\Util.dll</HintPath>
   </Reference>
</ItemGroup>

Вы должны будете точно определить, какие значения $ (Platform) использует ваш проект, что покажет простое изучение XML проектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...