我有一个WPF 4项目可以与VS2010中制作的Word文档进行交互,还有一个Win Form User Control项目可以将Word应用程序托管到其中。和其他COM DLL。所有的com dll都被引用到我的主要wpf应用程序中。我想发布项目,以便可以将其安装在另一台计算机上并对其执行自动更新,但出现错误:“程序集生成失败-引用的程序集'Interop.Office'没有强名。”。每个COM Dll错误。
一个dll引用(Interop.word.dll,interop.office.dll,interop.VBIDE.dll),所有这些dll也都引用并用于我的wpf代码。

我发现Strong Signed Assemblies链接有相同的问题,但不能解决问题。

最佳答案

我花了一段时间在互联网上拖拉,我相信对于大多数第三方dll,您可能需要的答案就在这里。

"Adding Strong Name to Interop DLL"

本文介绍了向第三方程序集添加强名的三种方法。这些命令是:
1.通过 key 对添加强名

> SN -k MyKeyPair.snk
> ILDASM ASQLService.dll /out:ASQLService.il
> ILASM ASQLService.il /dll /resource=ASQLService.res /key=MyKeyPair.snk

2.通过证书存储区中的证书添加全名
> ILDASM ASQLService.dll /out:ASQLService.il
> MAKECERT -ss MyCertificateStore -sk MyKeyContainer
> ILASM ASQLService.il /dll /resource=ASQLService.res /key=@MyKeyContainer

3.通过证书在个人信息交换(.pfx)文件中添加全名
> MAKECERT -r -pe -sv MyCertificate.pvk MyCertificate.cer
> PVK2PFX -pvk MyCertificate.pvk -pi qwerty -spc MyCertificate.cer -pfx MyCertificate.pfx
> SN -p MyCertificate.pfx MyCertificate-publickey.snk
> ILASM ASQLService.il /dll /resource=ASQLService.res /key=MyCertificate-publickey.snk
> SN -R ASQLService.dll MyCertificate.pfx

希望能有所帮助

关于c# - 程序集生成失败-引用的程序集 'Interop.Office'没有强大的名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6845537/

10-09 08:09
查看更多