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

本文关键字:项目 目标 类库 Core NET 解决方案 引用 | 更新日期: 2023-09-27 18:01:14

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

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

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

是的,这很好用!如果你的.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上托管,也可以在你自己的本地提要上托管。