C# 如何在Visual Studio 2012中每次生成后将所有.cs文件发送到输出目录。

C# 如何在Visual Studio 2012中每次生成后将所有.cs文件发送到输出目录。,c#,.net,visual-studio-2012,post-build-event,pre-build-event,C#,.net,Visual Studio 2012,Post Build Event,Pre Build Event,我有一些包含3个dll库的项目(其中一个有2个依赖项) 在'DLL parent'的输出文件夹中,我需要这2个子项的所有源文件。移动我想通过在DLL父文件夹的输出文件夹中创建“cs”文件夹来保存此cs文件的结构,在那里创建具有DLL子名称的子文件夹,并将其所有cs文件复制到此文件夹 为此,我使用DLL子级的生成后事件。 在底层,当我构建这个dll时,它工作得非常完美 在DLL子编译事件中设置此命令行后,它的输出将与包含源文件的文件夹一起创建 但当我构建整个解决方案时,这个文件夹并没有从DLL

我有一些包含3个dll库的项目(其中一个有2个依赖项)

在'DLL parent'的输出文件夹中,我需要这2个子项的所有源文件。移动我想通过在DLL父文件夹的输出文件夹中创建“cs”文件夹来保存此cs文件的结构,在那里创建具有DLL子名称的子文件夹,并将其所有cs文件复制到此文件夹

为此,我使用DLL子级的生成后事件。

在底层,当我构建这个dll时,它工作得非常完美

在DLL子编译事件中设置此命令行后,它的输出将与包含源文件的文件夹一起创建

但当我构建整个解决方案时,这个文件夹并没有从DLL子级的输出复制到DLL父级的输出。
为什么?在DLL父级的references部分,我将依赖项的“Copy local”设置为true,但它不复制任何内容

将文件导出到每个项目的单独文件夹中。使用这个简单的构建后脚本(最好将其设置为构建后事件,并在成功构建时选择
,这样就不会每次复制它,而只能在正确完成构建时复制)

您可以输出项目中特定文件夹中的所有文件。 您不需要检查现有文件夹,VS会自己检查。为文件的每个文件夹创建一个生成事件。如果将它们放在单独的文件夹中,则任何内容都不会覆盖任何内容(只要在输出中保持文件夹结构)。复制整个文件夹比一个文件一个文件地复制容易。
基本上,您需要做的是为输出位置显式指定文件夹名称。这将停止覆盖文件

我可以问一下您为什么需要复制cs文件的可能原因吗?但您为什么要这样做?我们的网站上有很多不同的文件与selenium测试。这些DLL是硒测试。我们的问题是,当测试失败时,我们需要知道这个问题与前一天或前几天相同/不同。很快-在我们尝试按代码行识别问题之前,有人处理过这个问题,但测试正在更改,代码行也在更改。因此,我们的想法是保存精确的代码行(取自stacktrace并从cs文件中获取),然后检查这一行的测试是否失败,并显示相同的错误消息,该错误消息不起作用,因为cs文件不是引用的一部分。不能将文件的“复制到输出”属性设置为“始终”吗?(我不确定该属性是否具有该名称,因为我使用的是德语VS)我已尝试设置“始终复制”,直到在不同DLL中具有相同的文件名为止。在我的情况下,我有很多文件和名称有时是相同的。问题是,下一个bult的dll会覆盖上一个的文件
copy "$(ProjectDir)FolderName\*" "PathYouWantYourFilesCopiedTo"