Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# VS2010构建解决方案-将文件添加到BIN文件夹_C#_Visual Studio 2010_File_Build_Post Build Event - Fatal编程技术网

C# VS2010构建解决方案-将文件添加到BIN文件夹

C# VS2010构建解决方案-将文件添加到BIN文件夹,c#,visual-studio-2010,file,build,post-build-event,C#,Visual Studio 2010,File,Build,Post Build Event,我们有一个由windows应用程序和各种库文件组成的解决方案。并非所有库文件都被主windows应用程序引用,但是我们希望所有库文件都包含在输出生成文件夹“bin”中 显然,一种解决方案是简单地引用Windows应用程序中的每个库,但是我们希望避免任何不必要的引用 如何将其他文件包含到生成文件夹中 这是一个C#项目。您始终可以使用项目设置中的预生成或后生成事件来复制其他文件 您只需执行一系列的复制源目标,或者您甚至可以编写一个nmake文件。您必须维护源文件列表,但是 编辑: 还有一个想法。您的

我们有一个由windows应用程序和各种库文件组成的解决方案。并非所有库文件都被主windows应用程序引用,但是我们希望所有库文件都包含在输出生成文件夹“bin”中

显然,一种解决方案是简单地引用Windows应用程序中的每个库,但是我们希望避免任何不必要的引用

如何将其他文件包含到生成文件夹中


这是一个C#项目。

您始终可以使用项目设置中的预生成或后生成事件来复制其他文件

您只需执行一系列的
复制源目标
,或者您甚至可以编写一个nmake文件。您必须维护源文件列表,但是

编辑:


还有一个想法。您的假设是,这是“不必要的引用”。但是,如果您的应用程序依赖于这些程序集来运行,无论它们是否是编译时引用,那么这些依赖项不是成为“必需”引用吗?在这种情况下,添加它们作为引用并让Studio的构建系统为您工作不是最好(也是最简单)的方法吗?

解决方案是将解决方案中所有“库”的构建位置更改为主输出“bin”位置。主Windows应用程序只引用它所依赖的库,但是所有库都构建到一个“公共”位置


感谢Nader Shirazie对这个问题的帮助。

这是常见的做法吗?等等,我猜这些都是运行时依赖项?在这种情况下,是的,这是很常见的做法。@Marty:在生成文件中复制运行时依赖项是很常见的做法。我们使用nant,有一个复制任务,它支持通配符匹配,因此很容易复制文件夹或其子文件夹中的所有程序集/etc。纳德,你说得很好。我想听听其他人对此的想法。应用程序不使用某些库,而是使用应用程序需要的一些库。所以实际上,它们是“表亲”引用。“表亲”引用会自动复制过来——所以这不应该是个问题。您所引用的引用是否未被任何其他程序集引用(即项目的运行时依赖项或其引用之一)所有附加库都是.NET程序集?