Msbuild 根据生成目标更改引用路径
我有一个单元测试项目,它需要一些外部依赖项。这些依赖项有两种类型:i386(…..\External\EA\i386\Core.dll)和amd64(…..\External\EA\amd64\Core.dll)Msbuild 根据生成目标更改引用路径,msbuild,Msbuild,我有一个单元测试项目,它需要一些外部依赖项。这些依赖项有两种类型:i386(…..\External\EA\i386\Core.dll)和amd64(…..\External\EA\amd64\Core.dll) ..\..\..\..\External\EA\amd64\Core.dll ..\..\..\..\External\EA\amd64\Util.dll MsTest是32位,我希望这些程序集的路径是……。\External\EA**i386**\Core.dll。换句话说,如何
..\..\..\..\External\EA\amd64\Core.dll
..\..\..\..\External\EA\amd64\Util.dll
MsTest是32位,我希望这些程序集的路径是……。\External\EA**i386**\Core.dll。换句话说,如何告诉msbuild选择正确的构建目标
谢谢只需在引用上设置一个条件,或者如下所示,在包含它们的项目组上设置一个条件
<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>
..\..\..\..\External\EA\amd64\Core.dll
..\..\..\..\External\EA\amd64\Util.dll
..\..\..\..\External\EA\i386\Core.dll
..\..\..\..\External\EA\i386\Util.dll
您必须准确地发现您的项目正在使用的$(平台)的哪些值,对项目的XML进行简单的检查就会显示这些值。请看这里:
<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>