为多个项目设置隔离的COM

时间:2011-01-13 19:51:50

标签: c# .net regfreecom

我的解决方案包含多个项目,除了输出类型为windows应用程序的类型外,所有项目都是类型类库。该应用程序引用所有其他项目。我还有一个COM组件,它也被一些项目和应用程序引用。

我可以通过将visual studio中引用的COM组件的Isolated属性更改为TRUE来设置regfree COM。解决方案成功构建,我可以看到为该特定程序集或应用程序生成的清单文件。

现在,我的问题是我是否需要为所有引用COM组件的项目执行此操作?如果是,那么我知道我不能在多个项目上将Isolated属性设置为TRUE(给出构建错误),那么我该如何解决这个问题?

我对.net相对较新,并且不太了解regfree COM(我假设我正在做的是IS regfree COM?)。我非常感谢您对此问题的任何帮助。感谢。

我目前正在使用VS 2008。

编辑:当多个项目的Isolated Property设置为TRUE时,构建错误表明myCOMcomponent.ocx是在两个项目的生成清单中定义的。

1 个答案:

答案 0 :(得分:1)

每个应用程序只能隔离一次COM组件。这就是你得到错误的原因。如果您创建一个公开该组件中的功能的包装器库,然后让其他所有内容调用该包装器,而不是直接调用COM组件,则可以解决此问题。这样,您只有一个COM组件的引用,因此只需要将它隔离一次。