gpt4 book ai didi

.net - 在 .Net Core MVC App 中导入 .Net Framework 4.5 库

转载 作者:行者123 更新时间:2023-12-02 03:11:57 27 4
gpt4 key购买 nike

我尝试将我自己的 .NET Framework 4.5 dll 添加到 .NET Core 项目,但我不能。我也尝试更改 project.json 文件中的某些内容但没有结果。我也尝试制作自定义本地 Nuget 源,但它对我不起作用。谁能知道正确的解释我该怎么做?

见下图: import .net framework 4.5 dll to .NET core

最佳答案

更新

从 .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“完整”程序集,则必须创建一个以 .NET Framework 而不是 .NET Core 为目标的 ASP.NET 应用程序。您可以通过创建一个新项目 -> Visual C# -> Web -> ASP.NET Core 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

关于.net - 在 .Net Core MVC App 中导入 .Net Framework 4.5 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39509812/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com