在 .NET 4.5.2 控制台应用程序中使用 .NET Core 库
Using .NET Core library in .NET 4.5.2 console application
我有两个项目:一个项目是基于 .NET Core 构建的,另一个是基于普通 .NET Framework 4.5.2 构建的。
我想知道如何在我的 .NET 控制台应用程序中使用我的 .NET Core cass 库。
这是我的 project.json:
{
"version": "1.0.0-*",
"dependencies": {
"NETStandard.Library": "1.6.0",
"NLog.Web.AspNetCore": "4.3.0",
"System.Xml.XmlSerializer": "4.0.11"
},
"frameworks": {
"netstandard1.6": {
"imports": "dnxcore50"
},
"net452": {}
}
}
我试图将该项目作为正常参考包括在内。但是在重新构建解决方案后,控制台应用程序仍然没有获取 .NET Core 库作为参考。
Visual Studio 2017 可以原生做到这一点; Visual Studio 2015 不能(截至更新 3)。许多这些工具错误和问题正在使用 .NET Core 工具的稳定版本修复和最终确定,预计在 VS 2017 中使用。
如果您仍在使用 VS 2015,您今天可以使用两种解决方法:
使用 dotnet pack
为 class 库生成 NuGet 包。由于您在 project.json 中定位 net452
,它将与 .NET Framework 4.5.2 项目兼容。您可以将其托管在 local feed 上并将其安装在您的控制台应用程序项目中。
手动引用编译库时生成的 DLL。它应该在 bin/net452/YourLibrary.dll
。这不是一个很好的解决方案,因为它很脆,很容易折断。
我有两个项目:一个项目是基于 .NET Core 构建的,另一个是基于普通 .NET Framework 4.5.2 构建的。
我想知道如何在我的 .NET 控制台应用程序中使用我的 .NET Core cass 库。
这是我的 project.json:
{
"version": "1.0.0-*",
"dependencies": {
"NETStandard.Library": "1.6.0",
"NLog.Web.AspNetCore": "4.3.0",
"System.Xml.XmlSerializer": "4.0.11"
},
"frameworks": {
"netstandard1.6": {
"imports": "dnxcore50"
},
"net452": {}
}
}
我试图将该项目作为正常参考包括在内。但是在重新构建解决方案后,控制台应用程序仍然没有获取 .NET Core 库作为参考。
Visual Studio 2017 可以原生做到这一点; Visual Studio 2015 不能(截至更新 3)。许多这些工具错误和问题正在使用 .NET Core 工具的稳定版本修复和最终确定,预计在 VS 2017 中使用。
如果您仍在使用 VS 2015,您今天可以使用两种解决方法:
使用
dotnet pack
为 class 库生成 NuGet 包。由于您在 project.json 中定位net452
,它将与 .NET Framework 4.5.2 项目兼容。您可以将其托管在 local feed 上并将其安装在您的控制台应用程序项目中。手动引用编译库时生成的 DLL。它应该在
bin/net452/YourLibrary.dll
。这不是一个很好的解决方案,因为它很脆,很容易折断。