Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/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
Visual c++ 大型系统中的dll替换_Visual C++_Dll - Fatal编程技术网

Visual c++ 大型系统中的dll替换

Visual c++ 大型系统中的dll替换,visual-c++,dll,Visual C++,Dll,当更改dll时,我必须将其放在系统加载到内存的目录中。问题是每次我更改它时,我都必须关闭系统,用新的dll替换dll,然后启动系统。大约需要15/20分钟,非常长 有人能告诉我如何避免这种情况吗?当您快速切换DLL版本时,请将DLL与可执行文件放在同一目录中,或者在“项目设置->配置属性->调试->环境”中提供切换DLL的目录路径。这样你就不必弄乱你的Windows系统目录了 然而,微软表示: 如果内存中已经加载了具有相同模块名的DLL,则系统在解析到加载的DLL之前,仅检查重定向和清单,而不管

当更改dll时,我必须将其放在系统加载到内存的目录中。问题是每次我更改它时,我都必须关闭系统,用新的dll替换dll,然后启动系统。大约需要15/20分钟,非常长


有人能告诉我如何避免这种情况吗?

当您快速切换DLL版本时,请将DLL与可执行文件放在同一目录中,或者在“项目设置->配置属性->调试->环境”中提供切换DLL的目录路径。这样你就不必弄乱你的Windows系统目录了

然而,微软表示:

如果内存中已经加载了具有相同模块名的DLL,则系统在解析到加载的DLL之前,仅检查重定向和清单,而不管它位于哪个目录中。系统不搜索DLL


如果对您有效,您可以尝试。

Visual Studio放置DLL的目录是固定的,我无法更改它。系统从中获取DLL的目录也是固定的,不能更改。我这里需要的是某种批处理程序或任何实用程序,它们将杀死访问DLL的进程,然后替换DLL,然后重新启动程序。你是说已经加载到内存中的DDL?当它们尚未加载时,我的答案实际上适用。请参阅和一个类似的问题:如果这不是您想要的,请更清楚地解释您的问题。Microsoft链接非常有用。我指的是已经加载到内存中的DLL。我想替换DLL文件并重新加载到内存中。