use*_*309 1 .net c# assemblies
是否可以使用带有 Evidence 参数的 Assembly.LoadFrom 重载来确保程序集具有强命名?我希望能够指定程序集名称、区域性、版本和公钥令牌。如果任何此信息不匹配,则程序集将无法加载。
您可以在加载程序集后获取其公钥 - 如果它加载成功并且具有公钥,则它是强名称的:
Assembly assembly = Assembly.LoadFrom (...);
byte[] pk = assembly.GetName().GetPublicKey();
Run Code Online (Sandbox Code Playgroud)
更好的是,在加载之前检查程序集的公钥和版本信息:
AssemblyName an = AssemblyName.GetAssemblyName ("myfile.exe");
byte[] publicKey = an.GetPublicKey();
CultureInfo culture = an.CultureInfo;
Version version = an.Version;
Run Code Online (Sandbox Code Playgroud)
如果 GetPublicKey() 返回非空值,然后程序集成功加载,则它具有有效的强名称。
| 归档时间: |
|
| 查看次数: |
3109 次 |
| 最近记录: |