我无法导入程序集,据说是因为强名称验证失败,尽管即使我将程序集注册为不被检查也会发生这种情况。有人能发现我在这里做错了吗?
以下是成绩单。作为参考,sn.exe 的开关是:
- -v:验证签名。
-Vr:注册程序集以跳过验证。
PS C:\temp> .\sn.exe -v .\my.dll
Microsoft (R) .NET Framework 强名称实用程序版本 3.5.30729.1 版权所有 (c) Microsoft Corporation。版权所有。
程序集 '.\my.dll' 有效
PS C:\temp\Cmdlets> Import-Module .\my.dll Import-Module:无法加载文件或程序集'my,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35'或其依赖项之一。强名称验证失败。(来自 HRESULT 的异常:0x8013141A)在 line:1 char:14
- 导入模块 <<<< .\Microsoft.Rtc.Management.Core.dll
- CategoryInfo : NotSpecified: (:) [Import-Module], FileLoadException
- FullyQualifiedErrorId : System.IO.FileLoadException,Microsoft.PowerShell .Commands.ImportModuleCommand
PS C:\temp\Cmdlets> .\sn.exe -Vr *
Microsoft (R) .NET Framework 强名称实用程序版本 3.5.30729.1 版权所有 (c) Microsoft Corporation。版权所有。
为程序集 ' , '添加了验证条目
PS C:\temp\Cmdlets> Import-Module .\my.dll Import-Module:无法加载文件或程序集'my,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35'或其依赖项之一。强名称验证失败。(来自 HRESULT 的异常:0x8013141A)在 line:1 char:14
- 导入模块 <<<< .\Microsoft.Rtc.Management.Core.dll
- CategoryInfo : NotSpecified: (:) [Import-Module], FileLoadException
- FullyQualifiedErrorId : System.IO.FileLoadException,Microsoft.PowerShell .Commands.ImportModuleCommand
- 导入模块 <<<< .\Microsoft.Rtc.Management.Core.dll
我应该提一下,我已经通过 Reflector 验证了所有必需的依赖程序集都存在于同一目录中。