C#程序集强名称错误(尽管已签名)
我在运行C#应用程序时遇到问题,在尝试使用某个引用时抛出以下错误,如下所示: 无法加载文件或程序集“My3rdPartyAssembly,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。需要具有强名称的程序集。(HRESULT的异常:0x80131044) 然后,我随后签署了有关的大会 我可以通过VisualStudio和Sn确认我的DLL现在已经明确签名,并且有一个强名称 然而,我看到了两件事:C#程序集强名称错误(尽管已签名),c#,strongname,C#,Strongname,我在运行C#应用程序时遇到问题,在尝试使用某个引用时抛出以下错误,如下所示: 无法加载文件或程序集“My3rdPartyAssembly,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。需要具有强名称的程序集。(HRESULT的异常:0x80131044) 然后,我随后签署了有关的大会 我可以通过VisualStudio和Sn确认我的DLL现在已经明确签名,并且有一个强名称 然而,我看到了两件事: 在应用程序的签名版本上,我
Thx的帮助。事实证明我能够解决它。我正在更新第三方库(我要签名的程序集),以便它可以与my.exe一起正常工作,但它被来自NuGet软件包的未签名版本所取代 您必须在以下位置更新.dll: 我将有一个名为WPFCustomMessageBox.dll的示例包的说明。请按照ff.步骤更新包并将其反映到调试文件夹中:
cmd
“C:\Program Files(x86)\Microsoft SDK\Windows\v10.0A\bin\NETFX 4.6.1 Tools\x64\Ildasm.exe”/all/out=WPFCustomMessageBox.il WPFCustomMessageBox.dll
b、 我不确定这个命令做什么,但它为下一个命令准备了文件
“C:\Windows\Microsoft.NET\Framework\v4.0.30319\Ilasm.exe”“WPFCustomMessageBox.il”/dll/resource=“WPFCustomMessageBox.res”/key=“publickey.snk”
c、 这一个创建了签名的.dll
“C:\Program Files(x86)\Microsoft SDK\Windows\v10.0A\bin\NETFX 4.6.1 Tools\x64\sn.exe”-R“WPFCustomMessageBox.dll”“pair.pfx”
我已经在的帮助下测试了此方法。下次编译时,应该对编译/复制到调试文件夹的前一个未签名的.dll进行签名。希望这有帮助:)My3rdPartyAssembly引用的所有程序集是否也进行了强签名?这包括您可能编写的其他程序集。因此,所有递归引用的引用的程序集需要有一个强名称。是的,我选中了这个,它们也是签名的。我之所以要这样做,是因为我也有同样的问题。引用的程序集是否可能没有正确的目标?也许我们在对以前未签名的生成进行签名之后,仍然以它为目标