我目前正在 Visual Studio 2010 中处理 C# 项目,我需要使用程序集。我将它作为一个项目添加到我的解决方案中,并让它在本地构建并复制到我的主项目的输出文件夹中。
问题是,为了整洁,我想要它以便程序集进入 bin/Debug/assemblies 而不是 bin/Debug,并且该程序集的引用使用它。
这有可能吗?
我目前正在 Visual Studio 2010 中处理 C# 项目,我需要使用程序集。我将它作为一个项目添加到我的解决方案中,并让它在本地构建并复制到我的主项目的输出文件夹中。
问题是,为了整洁,我想要它以便程序集进入 bin/Debug/assemblies 而不是 bin/Debug,并且该程序集的引用使用它。
这有可能吗?
这种“整洁”是一个非常糟糕的主意。CLR 不知道在哪里查找这些程序集,并且如果没有 app.exe.config 文件就找不到它们。您需要提供一个<probing>
命名子目录的元素。您还需要一个构建后事件来使用 mkdir 和 xcopy 创建目录来复制文件。
如果这听起来像是要跳过太多的箍,那是因为 DLL Hell 是你永远不想搞砸的东西。CLR 和构建系统都强烈反对它。只有两个地方 CLR 认为是明确的,GAC 和包含启动 EXE 的目录。其他任何事情都需要额外的步骤来让 CLR 相信你不是偶然开枪的。
只需在项目的属性中将输出路径设置为 bin\Debug\assemblies 或您喜欢的任何内容。