0

当我在 VS2012 中调试 WCF 时,它运行正常。引用没问题,但是当我在IIS中发布时,服务无法解析引用。在发布的输出文件夹中,没有这些dll,我不知道是否正常。

使用的参考文献

我收到此错误:“No se pudo recuperar el generador de clases COM para el componente con CLSID {9A8831F1-A263-11D1-8DCF-00A0C90FFFC2} debido al siguiente error: 80040154 Clase no registrada (Excepción de HRESULT: 0x80040154 (REGDB_E_CLASSNOREG)) "

4

3 回答 3

1

最简单的方法是以管理员身份登录到该服务器并为 DLL 运行相同的安装包,这些安装包用于在开发机器上获取它们。对于对 DLL 的引用,您可能不希望将 Copy Local 设置为 true。安装 COM 对象后,它们会在注册表中注册,这就是您需要管理员权限的原因。您需要先在 DEV 服务器上进行测试!

如果您没有原始安装包,您可能需要 Google DLLS,确保您获得正确的版本。

您只需要这样做一次,然后就可以发布新版本的服务,而无需重新安装 COM 对象。

如果您希望能够轻松地安装到多台机器上,您可以通过将安装和部署项目添加到您的解决方案来做到这一点,尽管 DLL 附带的安装程序可能是一个更好、更简单的选择。

编辑,例如,我在 Microsoft 站点MSRdo20.cab上找到了 RDO 2.0 的安装

于 2013-09-25T18:50:08.120 回答
0

您需要将这些程序集本地复制到您的构建输出中。最简单的方法是在 Visual Studio 中更改它们:

在此处输入图像描述

于 2013-09-25T15:33:14.147 回答
0

IIS 不太可能访问您的文档文件夹。您要么必须授予 apppool 身份对保存 dll 的文件夹的读取权限,要么取消注册它们并在其他地方注册它们。

于 2013-09-25T23:46:10.570 回答