.net – 为什么不同版本的Silverlight程序集具有相同的版本号?

.net – 为什么不同版本的Silverlight程序集具有相同的版本号?,第1张

概述为什么不同版本的Silverlight程序集具有相同的版本号? Location: ...\Silverlight\v3.0\System.Core.dll Name: System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e Location: ...\Silverlight\v4.0\Sy 为什么不同版本的Silverlight程序集具有相同的版本号?

Location: ...\Silverlight\v3.0\System.Core.dll name: System.Core,Version=2.0.5.0,Culture=neutral,PublicKeyToken=7cec85d7bea7798e Location: ...\Silverlight\v4.0\System.Core.dll name: System.Core,PublicKeyToken=7cec85d7bea7798e Location: ...\Silverlight\v4.0\Profile\windowsPhone\System.Core.dll name: System.Core,PublicKeyToken=7cec85d7bea7798e

虽然标准的.net有不同的版本号

Location: ...\Framework\v4.0.30319\System.dll name: System,Version=4.0.0.0,PublicKeyToken=b77a5c561934e089 Location: ...\Framework\v2.0.50727\System.dll name: System,Version=2.0.0.0,PublicKeyToken=b77a5c561934e089
解决方法 使用.NET,对于已签名(.snk)程序集,您不会更改程序集版本号的第一个原因是确保程序集的强名称保持不变.这样一来,不用混淆.config文件或自定义策略,任何使用引用程序集构建的客户端仍然能够加载而不会抱怨.

默认情况下(不定义assemblies redirections),如果更改版本,您的程序集的强名称也将被更改,并且所有现有的程序集根据以前的版本构建将无法运行.

如果您从不更改版本,那么您必须确保不会使用不同的类或方法签名来破坏相同的客户端.

这就是为什么大多数时候,开发人员倾向于保持相同的版本…永远,当有可能时,这对于CoreCLR(Silverlight的CLR)以及.NET CLR是正确的.

在.NET CLR的情况下,他们更改版本的事实实际上为现有的.NET应用程序带来了一些问题.有时,现有的.NET 2应用程序需要将它添加到.NET 4上下文中的.config文件中:

<configuration>  <startup>    <supportedRuntime version="v4.0.30319" />  </startup></configuration>

你可以看一下这篇文章,解释这一切如何复杂在幕后:Version Compatibility in the .NET Framework

总结

以上是内存溢出为你收集整理的.net – 为什么不同版本的Silverlight程序集具有相同的版本号?全部内容,希望文章能够帮你解决.net – 为什么不同版本的Silverlight程序集具有相同的版本号?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1003525.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存