在obj中的InDesign COM引用但不在bin目录中

时间:2013-02-05 10:30:14

标签: c# visual-studio-2010 com adobe-indesign

我的应用程序(C#,. NET 4.0,VS2010)引用了COM DLL(Adobe InDesign CS6类型库)。当我构建应用程序时,tlibimp正在生成“interop.indesign.dll”并出现在obj \ x86 \ release中。但是,它不会出现在bin \ x86 \ release中。

只有两个选项可供参考。 Embed Interop-types设置为true(false导致错误),Isolated设置为false。

现在问题就在于此。该应用程序以前使用InDesign CS4类型库。根据客户的要求,它被提升到CS6。 如果在PC上安装了InDesign CS4和CS6,则该应用程序可以正常运行。它不适用于仅安装CS6。这看起来仍然是对CS4的引用,但我100%肯定,我删除了所有内容。所有引用都指向CS6类型库,检查.csproj文件没有显示任何不需要的东西。

除了从头开始重建整个项目文件夹之外,还有什么方法可以解决这个问题吗? 任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:2)

经过一些研究后,我找到了解决问题的方法。 InDesign CS6类型库未正确注册。我认为InDesign安装程序(或InDesign本身)应该归咎于此。

要解决此问题,请从命令行运行以下命令:

C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ regtlibv12.exe“C:\ ProgramData \ Adob​​e \ InDesign \ Version 8.0 \ de_DE \ Scripting Support \ 8.0 \ Resources for Visual Basic.tlb”

之后,类型库已正确注册,应用程序按预期工作。