【问题标题】:Can I set different References for different configurations of a .NET build in VS 2010?我可以在 VS 2010 中为 .NET 构建的不同配置设置不同的参考吗?
【发布时间】:2015-10-27 16:31:38
【问题描述】:

我有一个必须针对不同版本的依赖 DLL 构建的解决方案。我想将解决方案配置为针对目标平台的不同“版本”具有不同的配置(目标)。 (我们正在为第三方框架构建库,我们必须针对多个版本)

我认为为每个目标版本设置不同的解决方案的引用会相对简单,但我无法成功地做到这一点。我怀疑我做错了什么。

附上截图。

如您所见,我已经进行了许多“目标”配置,并且我希望目标配置能够控制生成的 DLL 所针对的依赖项的版本。

我们无法控制这些 DLL,也无法重新构建以进行不同的版本调用转发。

【问题讨论】:

    标签: c# visual-studio-2010 .net-assembly


    【解决方案1】:

    我还没有尝试过,但您可以尝试在 text/xml 编辑器中编辑 csproj 文件,并在引用 ItemGroups 中添加条件,例如,

      <ItemGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
        <Reference Include="System">
          <Name>System</Name>
        </Reference>
    

    您需要为需要不同引用的每个配置创建一个 ItemGroup。

    或者,您可以使用依赖注入在运行时加载适当的程序集。如果引用的程序集都实现了相同的接口,这将更容易,这样您的调用代码就针对该接口进行编码,而不是针对不同程序集中的底层实现进行编码。

    【讨论】:

    • 我无法成功完成这项工作——如果 MS 允许通过 UI 进行配置就好了。我遇到的具体问题是构建似乎采用了它认为匹配的任何引用 - 而不是使用我给它的文件补丁提示。
    猜你喜欢
    • 2013-01-12
    • 2014-08-24
    • 2011-03-01
    • 2010-12-05
    • 2018-03-21
    • 1970-01-01
    • 2018-11-19
    • 1970-01-01
    • 2012-06-01
    相关资源
    最近更新 更多