2010-06-17 74 views
1

我试图通过引用它的强名称加载一个使用Assembly.Load()作为.Net 3.5 SP1的一部分安装的程序集。这在我的计算机上正常工作,但它是未来的证明?新版本的.NET发布时,程序集强名称是否会更改?

安装补丁程序或新版本的.Net框架发布后,核心.Net程序集的强名称是否会发生变化?

编辑:如果.Net 5.0包含大量重写的System.Data,我现在使用的强名称是否会在该平台上打破我的应用程序?

+2

解决此问题的方法是使用部分指定名称,并使用部分限定名称,并在.config文件中完全限定它们。 http://msdn.microsoft.com/en-us/library/fb1c06s6(VS.85).aspx – codekaizen 2010-06-17 22:05:52

回答

1

修补程序(如Service Pack)不会更改程序集的强名称。这将是一个包含在Service Pack中的重大改变。

强名称会在主要版本的框架之间发生变化,因为版本号包含在强名称中。

+0

但只有在重新编译后。 – 2010-06-17 21:56:14

1

强名称不会改变,除非重新编译。

+0

不,这不是真的,重新编译不会更改名称,除非更改程序集版本,程序集名称或键。 – 2010-06-17 21:52:02

+0

@ 0xA3,是的 - 我的意思是如果重新编译和某些更改,如框架版本。 – 2010-06-17 21:57:17