我目前正在 Visual Studio 2010 中处理一个 C# 项目,我需要使用一个程序集。我将它作为一个项目添加到我的解决方案中,并将其构建并复制到我的主项目的输出文件夹中。
问题是,为了整洁起见,我想要它以便程序集进入 bin/Debug/assemblies 而不是 bin/Debug,并且该程序集的引用使用它。
这有可能吗?
最佳答案
这种“整洁”是一个非常糟糕的主意。 CLR 不知道去哪里寻找这些程序集,如果没有 app.exe.config 文件就找不到它们。您需要提供一个 <probing>
命名子目录的元素。您还需要一个构建后事件来使用 mkdir 和 xcopy 创建目录以复制文件。
如果这听起来像是要跳过太多障碍,那是因为 DLL Hell 是您永远不想搞砸的东西。 CLR 和构建系统都强烈反对它。 CLR 认为只有两个地方是明确的,即 GAC 和包含启动 EXE 的目录。其他任何事情都需要额外的步骤才能让 CLR 相信您不是偶然开枪的。
关于c# - 使用 Copy Local 将程序集放在不同的目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15002028/