Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VS2005 C#:重新加载引用_C#_Visual Studio_Dll_Vb6 - Fatal编程技术网

VS2005 C#:重新加载引用

VS2005 C#:重新加载引用,c#,visual-studio,dll,vb6,C#,Visual Studio,Dll,Vb6,与coryr(参见)类似,我在C#项目中引用了一个dll。DLL经常更改,但我认为C#项目无法识别这一点。与coryr不同,DLL是VB6 ActiveX DLL。除了删除和添加引用之外,还有什么其他建议吗?这里的问题是,当您向COM DLL添加引用时,实际上并没有向DLL添加引用。而是为DLL生成一个主互操作程序集,并向该程序集添加一个引用。更改主DLL时,不会生成新的PIA(主互操作程序集) 您可以通过执行以下操作来验证这一点 展开引用集合 点击F4。这将打开“属性”页面 看看path属性

与coryr(参见)类似,我在C#项目中引用了一个dll。DLL经常更改,但我认为C#项目无法识别这一点。与coryr不同,DLL是VB6 ActiveX DLL。除了删除和添加引用之外,还有什么其他建议吗?

这里的问题是,当您向COM DLL添加引用时,实际上并没有向DLL添加引用。而是为DLL生成一个主互操作程序集,并向该程序集添加一个引用。更改主DLL时,不会生成新的PIA(主互操作程序集)

您可以通过执行以下操作来验证这一点

  • 展开引用集合
  • 点击F4。这将打开“属性”页面
  • 看看path属性
  • 该路径将是通向PIA的路径

    问题是VS正在监视PIA,而不是原始DLL。因此,当原始DLL更改时,它实际上不会重新加载引用。最好的方法是删除并重新添加引用

    另一种解决方案是手动生成PIA,并将其放置在磁盘上引用的PIA上。这将强制VS重新加载DLL引用