【发布时间】:2009-02-24 14:43:12
【问题描述】:
类似于coryr(参见this question),我在C# 项目中引用了一个dll。 DLL 经常更改,但我的 C# 项目无法识别这一点。与coryr 不同,DLL 是一个VB6 ActiveX DLL。除了删除和添加之外,有关如何重新加载引用的任何建议?
【问题讨论】:
标签: c# visual-studio dll vb6
类似于coryr(参见this question),我在C# 项目中引用了一个dll。 DLL 经常更改,但我的 C# 项目无法识别这一点。与coryr 不同,DLL 是一个VB6 ActiveX DLL。除了删除和添加之外,有关如何重新加载引用的任何建议?
【问题讨论】:
标签: c# visual-studio dll vb6
这里的问题是,当您添加对 COM DLL 的引用时,您实际上并没有添加对 DLL 的引用。而是为 DLL 生成一个主互操作程序集,并向其中添加一个引用。更改主 DLL 时,不会生成新的 PIA(主互操作程序集)。
您可以通过以下方式验证这一点
路径将是 PIA 的路径。
问题在于 VS 正在监视 PIA 而不是原始 DLL。因此,当原始 DLL 发生更改时,它实际上并没有重新加载引用。让它工作的最好方法是不幸地删除并重新添加引用。
另一种解决方案是手动生成 PIA 并将其放置在磁盘上引用的 PIA 上。这将强制 VS 重新加载 DLL 引用。
【讨论】: