【问题标题】:Short filenames from Interop.* files来自 Interop.* 文件的短文件名
【发布时间】:2011-11-18 01:00:30
【问题描述】:

当我在 VS2010 中使用 COM 引用时,它会生成名称为“Interop.*.dll”的文件,如果没有它,应用程序将无法工作。我们的分发系统非常老旧,不允许文件名超过 8 个符号(dos 格式)。所以,我应该以某种方式重命名 Interop.* 文件,但我的应用程序总是试图找到这个 Interop.* 文件。我试图重命名它,添加到引用(删除 COM 引用)。它有效,但仅适用于原始互操作文件。

我找到了one solution,但我想找到更简单的方法,只需正确重命名 Interop.* 文件即可。

错误信息:

未处理的异常:System.IO.FileNotFoundException:无法加载文件或程序集“Interop.RDO,Version=2.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。系统找不到指定的文件。文件名:'Interop.RDO, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null'

【问题讨论】:

  • 很不清楚重命名文件会导致什么挂断。您可以使用 tlbimp.exe /out 命令行参数显式命名它。

标签: .net com com-interop


【解决方案1】:

如 Microsoft documentation for the tlbimp util 中所述,您可以指定要为特定 COM 组件生成的文件的名称。

使用正确的名称生成互操作文件后,您应该在 VS2010 项目中直接引用它们,而不是引用 COM 组件。这应该会阻止 Visual Studio 为您的项目创建新的互操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-30
    相关资源
    最近更新 更多