复制文件夹以发布位置bin文件夹

时间:2014-01-24 09:39:59

标签: c# asp.net vb.net visual-studio-2010 visual-studio

在Visual Studio解决方案资源管理器中,可以在查看文件属性时为文件设置“构建操作”和“复制到输出目录”:

enter image description here

我的问题是:如何告诉Visual Studio将完整的文件夹和子文件夹/文件复制到输出目录?

如果我查看文件夹的属性,则选项不存在:

enter image description here

我尝试使用post build命令:

XCOPY "$(SolutionDir)Lib/XULRunner21_0" "$(OutDir)XULRunner21_0/" /E /I /F /Y
XCOPY "$(SolutionDir)Lib/ABCGecko.dll" "$(OutDir)" /E /I /F /Y

在编译之前复制文件,但在发布期间不复制文件,这样就不起作用了。

3 个答案:

答案 0 :(得分:1)

您需要将每个文件的Build操作设置为“Content”。然后它们将被分发到输出文件夹(项目中的任何子文件夹也将在输出文件夹下创建)

答案 1 :(得分:0)

您可以按照此处所述随意扩展构建过程: http://msdn.microsoft.com/en-us/library/ms366724.aspx

例如,在项目文件中:

<Target Name="BeforePublish">
  <Exec Command="XCOPY ..." />
  <Exec Command="XCOPY ..." />
</Target>

答案 2 :(得分:0)

抱歉:我刚刚看到你的上一条评论(&#34;文件在编译前被复制,但在发布期间没有复制,因此不起作用。&#34;),因此发布问题仍然存在。然而;我们应该能够为BeforePublish和AfterPublish目标名称扩展visual studio构建过程,以便将发布问题修复为described here.

这是告诉Visual Studio将完整文件夹和子文件夹/文件复制到输出目录的方法。

首先将您的文件夹(这是我的文件夹XULRunner21_0)添加到项目中,并将所有项目添加到项目中,然后转到项目的属性&gt;构建事件并将以下命令行写入Post-build事件命令行区域。构建解决方案后,您应该看到项目的bin文件夹下将创建XULRunner21_0文件夹,其中包含所有项目。

这就是全部,希望它有所帮助。

xcopy /E /Y "$(ProjectDir)XULRunner21_0\*" "$(ProjectDir)$(OutDir)XULRunner21_0\"