首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在.net内核中使用.net标准?

如何在.net内核中使用.net标准?
EN

Stack Overflow用户
提问于 2017-07-17 15:15:48
回答 1查看 567关注 0票数 0

我认为我的问题本身并没有很好地描述我的问题,所以我将描述我正在做什么,以及我如何尝试去做。

我们有一个旧的项目,利用MEFS的各种插件。我们正在尝试将其转换为dotnet核心应用程序,以便将其部署到不同的操作系统。据我所读,.net核心仅部分支持MEFS。Microsoft.Composition为插件提供了一些基本支持,但是没有Microsoft.Componentmodel.Composition,所以不能从目录加载插件(这就是我需要做的)。

在阅读了.net标准之后,我的印象是它提供了一组API来弥合.net核心和.net框架之间的差距。作为一个演示,我已经创建了一个有3个项目的解决方案。.net核心项目、.net标准项目和.net框架项目。核心项目引用标准项目,标准项目在Framework项目中调用一些代码。我把这个模型建立在发布.NET Core2.0预览2上(向下滚动到“参考.NET标准的.NET框架库”)。

我发现的问题是我的框架代码总是抛出一个TypeInitializationException。我相信,在编译代码时,它从.net标准框架中识别出一个库,但在运行时,它实际上使用的是.net核心框架中的同一个库(这更轻巧,而且遗漏了一些东西)。

我所指的类是System.ComponentModel.Composition.Hosting.AggregateCatalog

是否有一种方法可以指定我希望从.net标准SDK而不是.net核心SDK加载程序集?如果标准dll被忽略的话,同步使用它们似乎没有好处。这是我的设置和例外情况的屏幕截图。

我只是对这里的基本原理有误解吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-04-14 08:03:35

我的理解是,.Net标准是所有框架引用的通用API,在您的问题中,您暗示您的标准项目正在调用框架项目中的代码,我相信这可能是项目抛出异常的原因。

当您的项目引用程序集时,您应该会看到指示情况的警告(小黄色三角形)。

我发现这篇文章很有用https://msdn.microsoft.com/en-us/magazine/mt842506.aspx?f=255&MSPPError=-2147217396

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45147859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档