如何从 .net 核心使用 .net 框架?

Posted

技术标签:

【中文标题】如何从 .net 核心使用 .net 框架?【英文标题】:How to use .net framework from .net core? 【发布时间】:2018-04-16 08:36:08 【问题描述】:

我有一个 .net 核心 xUnit 项目,该项目引用了一个 .net 框架项目,该项目引用了 Microsoft 的 Azure Notification Hub API。

它可以构建,但是在尝试创建集线器时,出现错误...

无法加载文件或程序集 'System.Configuration.ConfigurationManager,版本=0.0.0.0, 文化=中立,PublicKeyToken=cc7b13ffcd2ddd51

鉴于引用了 System.Configuration,这似乎是一个奇怪的错误。

如何使 Azure 引用项目像框架 4.7 项目一样工作?

【问题讨论】:

您可以将其设置为复制本地,然后将程序集绑定到该版本并查看它是否有效?我不知道为什么它不起作用,但如果我是你,我会试试这个,看看效果如何。 Version 0 不是一个很开心的数字,很难想象其中涉及到什么样的大锤。通常,.NETCore 运行时无法加载 .NET Framework 程序集,您必须通过定位 .NETStandard 来重建程序集。这并不一定简单,他们最近确实发布了 System.Configuration 的核心替代品。与往常一样,最好的建议是等到它们完成。也许是众所周知的第 3 版。 我生活在哪个宇宙中?这些机器是否应该在未来几十年内让每个人都失业? 相关帖子 - How do I reference a .NET Framework project in a .NET Core project? 【参考方案1】:

如果您的目标是 .NET Core,请确保您已引用 NuGet 包 System.Configuration.ConfigurationManager

查看相关问题:Is ConfigurationManager.AppSettings available in .NET Core 2.0?

【讨论】:

【参考方案2】:

Microsoft 刚刚发布了与 .NET Standard 2.0 兼容的新版本,

https://azure.microsoft.com/en-us/updates/azure-notifications-hubs-net-sdk-now-compatible-with-net-standard-2-0/

请升级您的 SDK 以使用它。当然,您需要根据他们的文档进行其他更改。

【讨论】:

以上是关于如何从 .net 核心使用 .net 框架?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 DBContext(实体框架核心)中的 App.config(不是 .net 核心应用程序)读取值

如何确定 .net 框架版本以创建库 [重复]

如何关闭由 ASP.NET 核心框架完成的日志记录

如何使用 .net 核心实体框架迁移更新表(而不是重新创建它们)

使用 EF 框架的 .NET 核心 MVC - 将数据从一个控制器传递到另一个控制器

如何在 JavaScript 文件中使用 Razor 语法在 asp.net 核心框架上生成操作链接?