Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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
.net 如何在Visual Studio中生成期间将多个DLL放置在单独的文件夹中_.net_Visual Studio 2010_Build_Directory - Fatal编程技术网

.net 如何在Visual Studio中生成期间将多个DLL放置在单独的文件夹中

.net 如何在Visual Studio中生成期间将多个DLL放置在单独的文件夹中,.net,visual-studio-2010,build,directory,.net,Visual Studio 2010,Build,Directory,我有一个WindowForms C#项目,其中包含一些外部引用以及对同一解决方案中其他类库项目的引用 构建窗口窗体项目时,我只希望引用的库存储在不同的位置(例如:bin\Release\libraries),而不是与.exe存储在同一文件夹中 有可能吗 这个问题在两年前就已经出现了,但没有足够的答案: 在构建过程中,我只需要将几个第三方程序集放入单独的文件夹中。如果我要更改生成路径,它会将所有程序集放在那里,而这不是我想要的您可以向项目中添加生成后事件,将第三方DLL从输出文件夹bin\Rele

我有一个WindowForms C#项目,其中包含一些外部引用以及对同一解决方案中其他类库项目的引用

构建窗口窗体项目时,我只希望引用的库存储在不同的位置(例如:bin\Release\libraries),而不是与.exe存储在同一文件夹中

有可能吗

这个问题在两年前就已经出现了,但没有足够的答案:


在构建过程中,我只需要将几个第三方程序集放入单独的文件夹中。如果我要更改生成路径,它会将所有程序集放在那里,而这不是我想要的

您可以向项目中添加生成后事件,将第三方DLL从输出文件夹bin\Release移动到子文件夹中


在项目上单击鼠标右键,选择“属性”,然后选择“生成事件”,在visual studio中将生成后事件添加到项目中,以将所需DLL复制到相关位置


然后,您将需要更新引用,并可能设置一个PATH变量,以确保项目知道它们的位置

我尝试了此副本/Y“$(TargetDir)cairo.dll”“$(SolutionDir)lib\cairo.dll”,但我退出时出现了代码1错误,cairo.dll肯定出现了错误。请尝试删除
cairo
copy/Y“$(TargetDir)cairo.dll”“$(SolutionDir)lib\cairo.dll
。此外,请确保文件夹
lib
实际存在于
$(SolutionDir)
中。实际上,根据您的问题,我认为它应该是
$(TargetDir)
取而代之。除此之外,我可能还有一个愚蠢的问题,那就是如何更新引用和路径。因为当我添加对特定dll的引用时,它会自动复制到生成路径中,我想将其移动到文件夹中,在生成后事件中复制其他必要的dll。我已经找到了解决方案,我需要做的就是stbuild move创建了程序集,然后将其添加到congif文件中,该程序应该查看特定的子目录。在上徘徊,所以我找到了您的问题。我,这是唯一一个对我非常有效的解决方案。