我编译了一个针对不同框架(4.0和4.5)的同一个程序集。引用程序集版本的含义是什么?为什么4.0.0.0?
你可以看到他们在dotPeek
我期望的,他们应该引用不同的架构库(mscorlib程序,System.Core程序等),但我错了。他们都引用相同的“版本= 4.0.0.0”。
这是否意味着内存中的.NET CLR加载应用程序将忽略这些版本号(4.0.0.0),但会“推送最新的可用版本”? D
还有CLR(我认为loader是它的一部分)忽略目标框架信息?我的意思是如果CLR加载程序插入版本,它不需要使用目标信息...
或者我的编译过程和msbuild配置有问题吗?
谢谢。这是否意味着将NET40和NET45编译的程序集添加到同一个NUGET包是没有意义的?例如,NLog 4包含40和45(它也包含35,mono10,sl4,sl5,wp8,xamarin.iOS10 - 但我看到了这个意义)。 –
对于很多图书馆(比如我维护的),不需要同时发布net40和net45二进制文件。但是,.NET Framework 4.5的特殊功能可能会影响库,https://github.com/NLog/NLog/search?utf8=%E2%9C%93&q=%22NET4_5%22&type=所以我并不感到惊讶。 –