我的应用程序(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文件没有显示任何不需要的东西。
除了从头开始重建整个项目文件夹之外,还有什么方法可以解决这个问题吗? 任何帮助都非常感谢。
答案 0 :(得分:2)
经过一些研究后,我找到了解决问题的方法。 InDesign CS6类型库未正确注册。我认为InDesign安装程序(或InDesign本身)应该归咎于此。
要解决此问题,请从命令行运行以下命令:
C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ regtlibv12.exe“C:\ ProgramData \ Adobe \ InDesign \ Version 8.0 \ de_DE \ Scripting Support \ 8.0 \ Resources for Visual Basic.tlb”
之后,类型库已正确注册,应用程序按预期工作。