2016-01-19 1 views
1

je suivais ce video, et les étapes que j'ai été:vérification du nom fort ne manque pas pour le montage modifié

  1. Je fais une forte assemblée nommée, a.dll d'une classe C#.
  2. Je crée b.exe à partir d'une classe C# qui a une référence pour a.dll (une classe comme Program.cs dans l'application console).
  3. Je lance b.exe, et il s'exécute correctement.
  4. je modifie le nom a.dll forte, et vérifiez que par commande sn -v a.dll, et la réponse est: « Impossible de vérifier l'assemblage - validation de nom fort échoué. »
  5. Encore une fois je lance b.exe et fonctionne, mais j'attends une erreur FileLoadException car il s'agit d'un assembly modifié. Dans ce video l'erreur se produit!

Mes résultats ne sont pas identiques à ceux de la vidéo. Y a-t-il une raison à cela?

Répondre

1

Je suppose que vous utilisez .NET 3.5 SP 1 ou version ultérieure, et je suppose que la vidéo est basée sur une version antérieure, ou a appliqué la correction ci-dessous pour désactiver le "Bypass de signature de nom fort".

S'il vous plaît visitez How to: Disable the Strong Name Signing Bypass Feature

A partir de la version .NET Framework 3.5 Service Pack 1 (SP1), les signatures de nom fort ne sont pas validées lorsqu'un ensemble est chargé dans une AppDomain pleine confiance ... Contourner la validation des signatures de nom fort offre des améliorations significatives des performances

Ainsi, ils ont modifié les règles, à condition que vous soyez en totale confiance.

+0

La vidéo liée montre que le VS2010 a été utilisé. – user2352554