我有一个C#项目需要编译为x86或x64,并根据体系结构引用不同的本机程序集。我意识到我可以将它们包括在内并分配不同的别名,并在每个文件中使用#if语句,但这非常麻烦。
有没有办法根据编译器条件更改项目的依赖项?
答案 0 :(得分:2)
最简单的方法是利用构建配置。你需要做一些手动的MSBuild(.csproj)文件编辑,但它的工作非常好:
This Link有一个很好的例子说明如何解决这个问题。
答案 1 :(得分:0)
那不幸的是PITA!我怀疑你的#if语句是否有效(我保留被证明是错误的权利),因为每个依赖项都需要在参考部分中作为参考。我解决它的方法是编辑每个项目的msbuild(.csproj)文件,并创建一个条件ItemGroup,其中包含适当平台的引用。
<ItemGroup Condition="'$(Platform)' == 'x86'">
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>