使用Copy Local将程序集放在不同的目录中

时间:2013-02-21 12:14:54

标签: c# visual-studio-2010 .net-assembly

我目前正在使用Visual Studio 2010中的C#项目,我需要使用程序集。我把它作为一个项目添加到我的解决方案中,然后将其构建并复制到我的主项目的输出文件夹中。

问题是,为了整洁,我想拥有它,以便程序集将进入bin / Debug / assemblies而不是bin / Debug,并且该程序集的引用使用它。

这有可能吗?

2 个答案:

答案 0 :(得分:3)

这种“整洁”是一个非常糟糕的主意。 CLR不知道在哪里查找这些程序集,如果没有app.exe.config文件将无法找到它们。您需要提供一个名为子目录的<probing>元素。您还需要一个post-build事件来创建带有mkdir和xcopy的目录来复制文件。

如果这听起来有太多的箍要跳过,那就是因为DLL地狱是你永远不想搞砸的东西。 CLR和构建系统都强烈反对它。 CLR只有两个地方是明确的,GAC和包含启动EXE的目录。任何其他事情都需要额外的步骤来说服CLR你不是偶然射击你的脚。

答案 1 :(得分:0)

只需在项目属性中将输出路径设置为bin \ Debug \ assemblies或任何您喜欢的内容。