2010-06-17 2 views
1

Je suis en train de charger un assembly qui a été installé dans le cadre de .Net 3.5 SP1 en utilisant Assembly.Load() en référençant son nom fort. Cela fonctionne bien sur mon ordinateur en ce moment, mais est-il à l'épreuve du temps?L'assemblage des noms forts change-t-il lorsque de nouvelles versions de .Net sont publiées?

Le nom fort des assemblages .Net de base change-t-il lorsque des correctifs sont installés ou que de nouvelles versions du framework .Net sont publiées?

Éditer: Si .Net 5.0 inclut une réécriture massive de System.Data, le nom fort que j'utilise maintenant casse-t-il mon application sur cette plate-forme?

+2

La façon de résoudre ce problème est d'utiliser des noms partiellement spécifiés et d'utiliser des noms partiellement qualifiés, et de les qualifier pleinement dans le fichier .config. http://msdn.microsoft.com/en-us/library/fb1c06s6(VS.85).aspx – codekaizen

Répondre

1

Les correctifs tels que les Service Packs ne modifieront pas le nom fort de l'assembly. Ce serait un trop gros changement à inclure dans un Service Pack.

Les noms forts changeront entre les versions principales de l'infrastructure car le numéro de version est inclus dans le nom fort.

+0

Mais seulement après une recompilation. –

1

Le nom fort ne changera pas, à moins qu'il ne soit recompilé.

+0

Non, ce n'est pas vrai, la recompilation ne modifie pas le nom sauf si vous modifiez la version de l'assembly, le nom de l'assembly ou clé. –

+0

@ 0xA3, oui - je voulais dire si recompilé et quelque chose change, comme la version du cadre. –

Questions connexes