首页 > 解决方案 > VS2017解决方案中引用多目标类库

问题描述

在 VisualStudio 2017 中,我创建了一个面向 .net 4.0(以支持 win XP 上的旧版应用程序)和 4.6.1 框架的类库。我通过使用新的 .csproj 格式来做到这一点,该格式允许指定多个目标框架,如下所示。

<PropertyGroup>
    <TargetFrameworks>net40;net472</TargetFrameworks>
</PropertyGroup>

为这两个框架构建库非常有效。我得到了我的两个文件夹,net40 和 net472,它们都包含特定目标框架的 dll。

在我的解决方案中,我现在还有两个项目。一个引用我的库的 WinForms 应用程序和一个也引用它的 WPF 应用程序。WinForms App 应该使用我的库的 net40 和 WPF App net472 版本。

当我在我的 WinForms 应用程序中添加对库的项目引用时,它使用 net40 版本。一切都很好。

但是当我将类库项目引用到我的 WPF 应用程序(为 net472 构建)时,它也使用 net40 dll。但我希望我的 WPF 应用程序使用库的 net472 版本。

在 VS2017 中引用多目标类库作为项目引用时,是否有可能选择目标框架?

更新: 当我从库中构建一个多目标 nuget 包并使用该包来引用它时,一切都很好。WPF 应用程序自动使用 net472 和 WinForms net40。

标签: c#visual-studio-2017class-librarymultitargeting

解决方案


推荐阅读