我尝试将.NET Framework 4.5自己的dll添加到.NET Core Project中,但我不能。我也尝试在project.json文件中更改某些内容但没有结果。我也尝试制作自定义的本地Nuget源,但它对我不起作用。 任何人都可以知道正确的解释我该怎么做?
答案 0 :(得分:1)
从.NET Core 2.0开始,现在可以完成此操作:https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-net-core-2-0/#reference-net-framework-libraries-from-net-standard
您无法在.NET Core项目中引用.NET Framework 4.5程序集,只能引用其他.NET Core程序集。
如果您想使用ASP.NET Core 1并仍然能够引用.NET" Full"在程序集中,您必须创建一个面向.NET Framework而不是.NET Core的ASP.NET应用程序。您可以转到创建新项目 - > Visual C# - >网络 - > ASP.NET核心Web应用程序(.NET Framework)。
您还可以更改project.json文件以引用完整的.NET Framework,如下所示:
"frameworks": {
"net461": { }
}
此外,如果您愿意编写特定于平台的代码并使用预编译器指令,则可以在单个应用程序上定位多个框架。
要做到这一点,只需将net461
添加到现有应用中,并netcoreapp1.0
旁边。但请注意,您必须为每个框架指定依赖项。所以你的project.json文件看起来像这样:
"frameworks": {
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": { "type":"platform", "version": "1.0.0" }
},
"imports": "dnxcore50"
}
"net461": {
"dependencies": {"MyNet45Assembly"}
}
}
然后在您的代码中,您必须使用预编译器指令来检测您的应用程序在哪个平台上运行。例如:
#if NET461
using MyNet45Assembly.Types;
#endif
// ...
#if NET461
var v = new MyNet45AssemblyType();
#endif