使用Visual Studio安装项目自动注册和GAC COM Interop DLL

Ben*_*ack 27 .net interop gac regasm setup-project

我已经为COM互操作创建了一个.NET程序集,它在我的开发机器上运行良好.我目前正试图弄清楚如何使用Visual Studio的"安装项目"将DLL部署到目标机器.如何使用VIsual Studio安装项目执行以下操作:

  • 注册装配(当前使用regasm).
    • 需要成功注册程序集,并且需要成功注册类型库(.tlb).
    • 这个答案建议废弃regasm自定义代码.我这是个好主意?如果是这样,该代码如何包含在安装项目中?
    • 这个答案建议在安装项目中使用/regfile命令,regasm然后使用注册表中的导入工具.这会有用吗?
  • 在GAC中安装组件(当前使用gacutil)
    • 我知道"目标机器上的文件系统"中的"全局程序集缓存文件夹".在安装项目中包含程序集时,我需要做些什么特别的事情吗?

任何其他建议或关注将不胜感激.

Han*_*ant 34

Gacutil.exe将无法在目标计算机上使用.没问题,MSI可以完成工作.右键单击"目标计算机上的文件系统",添加,GAC.右键单击添加的文件夹,添加,项目输出.这确保了组件的清洁.

它也可以像Regasm.exe那样注册程序集.将项目输出引用的Register属性设置为vsdrpCOM.

  • 将register属性设置为`vsdrpCOM`会自动创建并注册.tlb文件吗?如果没有,我如何在设置项目中包含.tlb(它似乎不喜欢在安装项目的GAC文件夹中共享)? (2认同)