C# Regasm.exe仅在调试输出文件夹中工作,不在安装文件夹中工作

C# Regasm.exe仅在调试输出文件夹中工作,不在安装文件夹中工作,c#,debugging,dll,installation,regasm,C#,Debugging,Dll,Installation,Regasm,我正在用c编写一个外接程序dll,VS2012,Win7 x64。调试良好;VS在构建结束时注册dll,我还在我的项目文件夹中设置了一个批处理文件来注册和注销程序集 "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm.exe" /codebase ".\bin\Debug\MyAddin.dll" 每次都可以。仅供参考,我的开发文件也在网络驱动器上,它们将注册。即使更改为dll的绝对文件路径也可以工作 现在我正在部署外接程序,所以我从

我正在用c编写一个外接程序dll,VS2012,Win7 x64。调试良好;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是否从未起作用,但输出文件夹之外的任何地方都不会起作用。这就是我到目前为止所尝试的

因为我的调试输出文件夹有其他文件,比如.tlb和其他东西,我开始一个接一个地删除它们,直到我的外接程序和依赖的.dll。只是为了验证在输出文件夹中真正需要注册哪些文件。 我认为WIX可能没有正确创建文件,所以我将所有文件(包括.tlb和其他文件)从我的输出文件夹复制到安装文件夹中。我知道这些不会影响任何东西,只是为了彻底 我在VS构建之后注销了dll,认为问题出在多个寄存器上。 尝试直接从安装文件夹中运行regasm,以便可以在那里找到所有依赖项。 确保我的所有DLL都是x64平台。 已尝试CMD窗口中批处理文件的所有行,但不以管理员身份运行。 从输出到安装文件夹的文件属性相同。 有什么想法吗