Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.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
C# 如何避免复制第三方C++;DLL? 我有一个C++项目和C项目的解决方案,它使用互操作调用第一个方法。 由于我想避免任何硬编码的路径,所以我找到了一种在App.CONFIG中设置C++ DLL路径的方法。 我的问题是,我的C++ DLL依赖于其他DLL,我必须一直复制到我的bin /释放和bin /Debug文件夹中。我怎样才能避免这种情况? 如果我能在app.config中设置第三方DLL的路径,那就太好了。 我找到了这个_C#_C++_Dll_Path_App Config - Fatal编程技术网

C# 如何避免复制第三方C++;DLL? 我有一个C++项目和C项目的解决方案,它使用互操作调用第一个方法。 由于我想避免任何硬编码的路径,所以我找到了一种在App.CONFIG中设置C++ DLL路径的方法。 我的问题是,我的C++ DLL依赖于其他DLL,我必须一直复制到我的bin /释放和bin /Debug文件夹中。我怎样才能避免这种情况? 如果我能在app.config中设置第三方DLL的路径,那就太好了。 我找到了这个

C# 如何避免复制第三方C++;DLL? 我有一个C++项目和C项目的解决方案,它使用互操作调用第一个方法。 由于我想避免任何硬编码的路径,所以我找到了一种在App.CONFIG中设置C++ DLL路径的方法。 我的问题是,我的C++ DLL依赖于其他DLL,我必须一直复制到我的bin /释放和bin /Debug文件夹中。我怎样才能避免这种情况? 如果我能在app.config中设置第三方DLL的路径,那就太好了。 我找到了这个,c#,c++,dll,path,app-config,C#,C++,Dll,Path,App Config,但它似乎只适用于应用程序子目录。不要硬编码DLL的位置。将目录放入%PATH%变量中。假设Windows作为环境读取 编辑: %PATH%是一个环境变量,因此您可以将其设置为。我将从配置文件中读取privatePath,并使用给定的方法将其附加到%PATH%。可以使用类读取配置文件。我将在生成后事件中编写以下命令(因此您无需执行手动工作) 以下是项目的生成后事件位置属性 正如我所提到的,我不是硬编码路径。在安装过程中,如何将目录放入%PATH%变量中?我在你提供的链接中看不到任何提示。。我可以在


但它似乎只适用于应用程序子目录。

不要硬编码DLL的位置。将目录放入%PATH%变量中。假设Windows作为环境读取

编辑:
%PATH%是一个环境变量,因此您可以将其设置为。我将从配置文件中读取privatePath,并使用给定的方法将其附加到%PATH%。可以使用类读取配置文件。

我将在生成后事件中编写以下命令(因此您无需执行手动工作)

以下是项目的生成后事件位置属性

正如我所提到的,我不是硬编码路径。在安装过程中,如何将目录放入%PATH%变量中?我在你提供的链接中看不到任何提示。。我可以在app.config中指定路径吗?这是我的首选选项。我在app.config中添加了一个键,在应用程序启动期间(在application.Run()之前的Program.cs中)使用AppSettingsReader读取该键,并使用EnvironmentSetEnvironmentVariable()将其附加到路径变量。这正是我要找的!好的,我想这也行,但我更喜欢非复制方式,在启动时设置PATH变量。无论如何,谢谢你:)
xcopy /s c:\source\your_dll_folder c:\your_target_folder\bin\debug
xcopy /s c:\source\your_dll_folder c:\your_target_folder\bin\Release