0

RÉSUMÉ

Comment puis-je créer un ensemble de stratégie d'éditeur qui cible la même version cadre que l'ensemble redirigée?Cadre stratégique Publisher .NET cible

TL; DR

J'ai une Assembly.dll avec la version 1.x.y.0 et j'ai aussi une politique d'éditeur pour ce nom policy.1.0.Assembly.dll qui redirige les versions 1.0.0.0-1.x.y.0-1.x.y.0. Les cibles Assembly.dll cibles .NET Framework 3.5. Ai-je raison de penser que le policy.1.0.Assembly.dll devrait également cibler .NET Framework 3.5 pour que les choses fonctionnent correctement sur tous les frameworks 3.5+? Si oui, comment puis-je créer un assembly de stratégie d'éditeur? Je ne vois aucun commutateur de ligne de commande pertinent sur le lieur d'assemblage (AL).

Actuellement quand je GAC les assemblées, Assembly.dll finit dans \Windows\assembly et policy.1.0.Assembly.dll finit dans \Windows\Framework.NET\assembly. ILDASM me montre que les runtimes ciblées sont différentes:

Assembly.dll:

// Metadata version: v2.0.50727 
.assembly extern mscorlib 
{ 
    .publickeytoken = (B7 7A 5C 56 19 34 E0 89)       // .z\V.4.. 
    .ver 2:0:0:0 
} 
.assembly extern System 
{ 
    .publickeytoken = (B7 7A 5C 56 19 34 E0 89)       // .z\V.4.. 
    .ver 2:0:0:0 
} 

policy.1.0.Assembly.dll:

// Metadata version: v4.0.30319 
.assembly extern mscorlib 
{ 
    .publickeytoken = (B7 7A 5C 56 19 34 E0 89)       // .z\V.4.. 
    .hash = (B6 24 5D 64 2D 23 95 0B 50 19 B4 DC 19 4B 9A E8 // .$]d-#..P....K.. 
      B9 FF C0 53)          // ...S 
    .ver 4:0:0:0 
} 

Répondre

0

Utilisation de l'Assemblée Linker de C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin semble produire un policy.1.0.Assembly.dll qui cible la temps d'exécution correct:

// Metadata version: v2.0.50727 
.assembly extern mscorlib 
{ 
    .publickeytoken = (B7 7A 5C 56 19 34 E0 89)       // .z\V.4.. 
    .hash = (15 3B C0 4F 38 2D 09 20 CC A2 58 01 EE B1 AB E2 // .;.O8-. ..X..... 
      D2 D0 C5 11) 
    .ver 2:0:0:0 
} 

Bien que cela semble faire ce que je veux, on ne sait pas si:

  • Il est réellement nécessaire.
  • Combien de temps l'ancien AL.EXE sera livré avec Visual Studio.

VBlog de Lucian a été utile pour me laisser comprendre comment les outils SDK sont organisés:

https://blogs.msdn.microsoft.com/lucian/2008/11/14/where-are-the-sdk-tools-where-is-ildasm/