如何在同一解决方案中从4.6.1项目引用多目标.NET Core类库?

时间:2016-08-05 20:02:13

标签: c# .net visual-studio-2015 .net-core

我正在构建一组将由.NET Core和.NET 4.6.1项目使用的库。我创建了一个新的.NET Core类库,并添加了net461作为框架。我已经验证了.NET Core库的编译,并且debug文件夹中有4.6.1个二进制文件(以及netstandard1.6)。

.NET Core库和使用它的4.6.1应用程序位于同一Visual Studio 2015解决方案中。 VS允许我从4.6.1控制台应用程序添加对.NET Core库的引用,但是任何使用该库的尝试都不会编译。 Visual Studio中是否支持此方案,或者我是否需要将.NET Core打包到nuget包中并引用它?

1 个答案:

答案 0 :(得分:3)

是的,这很好用!如果你的.NET 4.6.1应用程序也在使用project.json / xproj,那么它就像这样简单:

"dependencies": {
    "MySharedLibrary": {
        "version": "1.0.0",
        "target": "project"
    }
}

target: project值告诉NuGet查看库的本地解决方案,而不是查找包源。

如果您的.NET 4.6.1应用程序是.csproj项目,那么您将不得不等待Visual Studio中未来的工具更新(这还不支持,但它会是)。您可以通过从库中创建NuGet包(使用dotnet pack)并将其作为普通包添加到项目中来解决此问题 - 通过在NuGet / MyGet上托管,或者您自己的local feed。 / p>