【问题标题】:Issue Deploying COM Components with ClickOnce使用 ClickOnce 部署 COM 组件时出现问题
【发布时间】:2012-05-15 17:08:10
【问题描述】:

我想发布一个在 Visual Basic.Net 2010 中开发的应用程序,它依赖于使用 ClickOnce 的 Com 组件。我已将 Com 对象(dll 类型的文件)的独立属性设置为 True,并且应用程序构建成功。但是,在构建时,Visual Studio 输出窗口中会弹出数十个讨厌的警告:

“C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2580,9):警告 MSB3179:隔离 COM 引用 'AXmsCtrl' 时出现问题:注册表项 'HKEY_CLASSES_ROOT\CLSID{30f256c0- ee6e-4c57-a475-e3e81236119f}\Implemented Categories{7DD95801-9882-11CF-9FA9-00AA006C42C4}' 未导入”。

一旦将应用程序安装在未注册 Com 组件的目标机器上,它就会崩溃而死。但是,如果您使用 Regsvr32 命令手动注册所需的 Com 对象,它将像魅力一样工作.

为了解决这个问题,我尝试将高级编译器设置中的目标 CPU 从 AnyCPU 更改为 x86,但没有成功。另外,将目标框架更改为 .Net4,但也没有任何效果。

我已经在网上寻找答案,但无济于事。我想知道是否有人能给我提供解决此问题的见解。我会提前感谢所有这些。

【问题讨论】:

    标签: visual-studio-2010 com build clickonce publish


    【解决方案1】:

    我过去曾使用 reg free COM 来使用 ClickOnce 交付 COM 组件。见this msdn article

    【讨论】:

    • 嗨,谢谢你的回答。你看,我知道如何使用 Clickonce 发布 Com 组件,即将它们的独立属性设置为 True,但问题是为什么我会收到警告输出窗口?
    【解决方案2】:

    我在 MSDN 上发布了同样的问题,我发现一个非常有用的答案如下:

    MSB3179:隔离 COM 引用“程序集”时出现问题:“错误”。 这是一条通用错误消息,表示在应用程序清单中生成 RegFree COM >条目时出现问题(由 孤立的ComReferences 任务参数)。错误消息的后半部分包含有关问题性质的更多信息。此错误的一个可能原因是 RegFree COM 组件 >未在构建计算机上正确注册。

    要进一步关注这个问题并查看 MSDN 社区中给出的答案,Click Here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多