将输出引用程序集构建到子文件夹

Dav*_*ell 5 .net c# build .net-assembly visual-studio

背景

我的程序集(一个 DLL)正在被第三方应用程序加载,我无法控制它是如何加载的。第三方应用程序将加载给定目录中的所有程序集。

问题

如果我的程序集和另一个程序集使用相同的库,但版本不同,它们将位于同一目录中并且会发生冲突。我已经研究了<probing>配置文件指令和程序集解析器,所以我知道如何创建一个子目录并让我的程序集搜索它的引用。

需要

我需要某种配置visual studio 的方法来将我的主DLL 构建到根文件夹中,并将所有引用构建到一个子文件夹中。最好在构建期间(因为我将构建配置为直接转到正确的文件夹。

rai*_*san 3

您可以将参考文献放在单独的文件夹中。具体方法如下:

  • 将文件夹添加到项目根目录。

在此输入图像描述

  • 将文件夹重命名为适当的名称。

在此输入图像描述

  • 右键单击文件夹并选择“添加”->“现有项目”

在此输入图像描述

  • 现在选择任何参考程序集并将其添加到此文件夹。您可以将文件添加为链接

  • 右键单击“引用”并转到“添加引用”->“浏览”

  • 导航到新创建的文件夹并选择程序集。

  • 将每个引用的“复制到本地”设置为“真”

  • 构建您的项目。

  • 关于使用 nuget.config 的答案的链接仅指定解决方案所需的包应恢复到的位置。但是在构建解决方案时,所有依赖项也会写入“bin”文件夹,而不是子文件夹中。 (2认同)