Regasm.exe仅适用于Debug输出文件夹,而不适用于安装文件夹

时间:2014-04-14 23:01:17

标签: c# debugging dll install regasm

我在c#,VS2012,Win 7 x64中编写了一个加载项DLL。调试很好; VS在建筑物的末尾注册了dll,我还在项目文件夹中设置了一个批处理文件来注册和取消注册程序集。

"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm.exe" /codebase ".\bin\Debug\MyAddin.dll"

每次都会有效。仅供参考我的开发文件也在网络驱动器上,他们将注册。甚至更改为dll的绝对文件路径也可以。

现在我正在部署加载项,所以我从WIX开始创建安装程序MSI以将文件放在正确的安装文件夹中。这是我开始获取 RA0000"无法找到输入程序集' MyAddin.dll'当我从项目文件夹中的批处理文件运行以在安装文件后注册文件时,从regasm.exe发出错误或其中一个依赖项。" 错误。

"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm.exe" /codebase "C:\Program Files\Suite Folder\Product Folder\MyAddin.dll"

这永远不会奏效。我可以看看regasm是否从未奏效,但输出文件夹之外的任何地方都没有。所以这就是我迄今为止所尝试过的。

  • 由于我的Debug输出文件夹中有其他文件,如.tlb和其他东西,我开始逐个删除它们一直到我的加载项和依赖的.dll。只是为了验证在输出文件夹中注册真正需要的文件。
  • 我想WIX可能没有正确创建文件所以我将包括.tlb和其他文件在内的所有文件从我的输出文件夹复制到安装文件夹中(我知道这些不应该影响任何东西,只是为了彻底)
  • 在VS构建认为不止一个寄存器出现问题之后,我没有注册dll。
  • 尝试直接从安装文件夹中运行regasm,以便找到所有依赖项。
  • 确保我的所有dll都是x64平台。
  • 在CMD窗口中尝试批处理文件中的所有行(w /和w / o作为管理员运行)。
  • 从输出到安装文件夹的文件属性是相同的。

有什么想法吗?

0 个答案:

没有答案