如何从 .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 核心实体框架迁移更新表(而不是重新创建它们)