[英].Net 4.5 Project with Reference to .Net 4.5 and netstandard2.0 Project pulls wrong version but works
I have a class library that I've ported from .Net 4.5
to a new multi-target class library targeting .Net 4.5
and netstandard2.0
. 我有一个类库,该类库已从
.Net 4.5
移植到一个新的针对.Net 4.5
和netstandard2.0
多目标类库。 This all seems to work as expected. 这一切似乎都按预期工作。
However, my unit test library in the same solution is targeting .Net 4.5
. 但是,我在同一解决方案中的单元测试库的目标是
.Net 4.5
。 When I look at the project reference, it seems to be pulling in the netstandard2.0
binary. 当我查看项目参考时,它似乎在
netstandard2.0
二进制文件。 When I run the unit tests, everything compiles and works as expected, however, it was my understanding that I'd need to be targeting at least .Net 4.6.1
for the project to successfully use a netstandard2.0
reference. 当我运行单元测试时,所有内容都可以按预期进行编译和运行,但是,据我了解,为了使该项目成功使用
netstandard2.0
参考,我需要至少针对.Net 4.6.1
。
What am I misunderstanding? 我有什么误会?
Quote from Microsoft Documentation Says Microsoft文档的报价说
The various .NET implementations target specific versions of .NET Standard.
各种.NET实现以.NET Standard的特定版本为目标。 Each .NET implementation version advertises the highest .NET Standard version it supports, a statement that means it also supports previous versions.
每个.NET实现版本都宣传其支持的最高.NET Standard版本,这表明它也支持以前的版本。 For example, the .NET Framework 4.6 implements .NET Standard 1.3, which means that it exposes all APIs defined in .NET Standard versions 1.0 through 1.3.
例如,.NET Framework 4.6实现.NET Standard 1.3,这意味着它公开了.NET Standard版本1.0至1.3中定义的所有API。 Similarly, the .NET Framework 4.6.1 implements .NET Standard 1.4, while .NET Core 1.0 implements .NET Standard 1.6.
同样,.NET Framework 4.6.1实现.NET Standard 1.4,而.NET Core 1.0实现.NET Standard 1.6。
Hope it helps 希望能帮助到你
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.