C#将所需的DLL放置在输出根之外的其他位置[重复]

问题描述 投票:29回答:4

我正在为一个项目使用EmguCV,当我们的程序运行时,它需要一些dll,例如“ cxcore.dll”等(或抛出运行时异常)。此刻,我将文件放在输出文件夹的根目录中(在Visual Studio中,选择文件属性中的“始终复制”。)>

但是看起来杂乱无章,大约有10个不同的dll。有什么地方可以将其移至输出文件夹中的子文件夹,仍然可以找到它。

我正在为一个项目使用EmguCV,当我们的程序运行时,它需要一些dll,例如“ cxcore.dll”等(或抛出运行时异常)。此刻,我将文件放在输出文件夹的根目录中(...

c# visual-studio dll dependencies
4个回答
64
投票

到目前为止令人惊讶的答案。没错;)好吧,


21
投票

要使程序集位于子目录中,您可以将它们手动复制到那里,可以使用构建前或构建后事件或完全不同的方法。


-2
投票

您可以使用生成前/生成后事件以及告诉您输出文件夹位置的宏将dll复制到所需的位置。


-3
投票

您可以将其保留在其他位置,然后仍然将其链接。在参考属性中,将“复制本地”设置为false,并相应地设置路径。这将起作用。如果外部DLLS打算更改版本,则可以将“特定版本”设置为false以能够链接到任何版本。

© www.soinside.com 2019 - 2024. All rights reserved.