gpt4 book ai didi

c# - 在面向.NET 4.6.2 的项目中,如何实现在.NET Standard 1.5 程序集中定义的接口(interface)?

转载 作者:行者123 更新时间:2023-11-30 12:56:31 25 4
gpt4 key购买 nike

我有 2 个独立的项目,我们称它们为 Alpha 和 Bravo。

Project Alpha 仅针对其 project.json 文件中的 net462 框架,而项目 Bravo 仅针对 netstandard1.5。这两个框架兼容 according to Microsoft .

Alpha 项目引用了 Bravo 项目的装配体。特别是,Alpha 需要实现 Bravo 中定义的接口(interface)。我们称此接口(interface)为 IProblematic。这个接口(interface)主要处理标题的东西,并定义这样的方法

bool DoStuff(List<KeyValuePair<string, IEnumerable<string>>> requestHeaders, List<string> rolesList)

Project Alpha 声明了一个实现该接口(interface)的类。

public bool DoStuff(List<KeyValuePair<string, IEnumerable<string>>> requestHeaders, List<string> rolesList)  {... }

到目前为止一切顺利。但是在运行时,我遇到了一些错误,例如 Unable to load one or more of the requested types。我相信错误的根源来自集合类型。

使用 Visual Studio 的“转到定义”功能,我可以看到 Alpha 项目(462 项目)正在使用 ..\Framework\v4 中定义的 System.Collections.Generic。 0.30319\mscorlib.dll,而如果我在项目 Bravo 的集合中做同样的事情,它会告诉我它正在使用 System.Collections.Generic,在 ..\netstandard1 中定义.3\System.Collections.dll

因此,我的问题是,如何让项目 Alpha 在实现 netstandard1.5 接口(interface)时使用正确的集合程序集,而不是使用 mscorlib 的集合?鉴于这 2 个框架是兼容的,这难道不是一个问题吗?

提前谢谢大家!

最佳答案

经过一些调查,我发现问题正在发生,因为我的 net462 应用程序(间接地)依赖于 System.Collections.Immutable: "1.3.0 并且我的 netstandard1.5 库有一个对 "NETStandard.Library": "1.6.0" 的依赖。我将创建一个更集中的线程,其中包含更多代码和堆栈跟踪。对于延迟返回,我深表歉意。

关于c# - 在面向.NET 4.6.2 的项目中,如何实现在.NET Standard 1.5 程序集中定义的接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40731381/

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