依赖项定义

本文关键字:定义 依赖 | 更新日期: 2023-09-27 17:57:09

我有一个 C# 项目,需要编译为 x86 或 x64,并根据体系结构引用不同的本机程序集。我意识到我可以同时包含它们并分配不同的别名,并在每个文件中使用 #if 语句,但这非常麻烦。

有没有办法根据编译器条件更改项目的依赖项?

依赖项定义

最简单的方法是利用构建配置。您需要进行一些手动MSBuild(.csproj)文件编辑,但它的效果非常好:

此链接有一个很好的例子来说明如何做到这一点。

不幸的是,这是一个PITA!我怀疑您的 #if 陈述是否有效(我保留被证明错误的权利),因为每个依赖项都需要成为参考部分中的参考。我解决方法是编辑每个项目的 msbuild (.csproj) 文件,并创建一个条件 ItemGroup,其中包含相应平台的引用。

<ItemGroup Condition="'$(Platform)' == 'x86'">
   <Reference Include="System" />
   <Reference Include="System.Data" />
   <Reference Include="System.Xml" />
</ItemGroup>