在Visual Studio中,如何设置整个文件夹的构build操作?

我在Visual Studio中有一个项目。 我需要部署第三方文件以及我的代码。 通常我会将这些文件放在“Resources”目录下,并将每个文件上的Build Action设置为“Content”,将Copy To Output Directory设置为“Copy if newer”。

无论如何,我可以在文件夹级别设置这些指令。 我正在使用的当前项目有几十个这样的文件和一些子文件夹。 我希望能够使整个目录为“内容”和“复制如果更新”。

创build项目。 添加一个文件作为内容。 卸载项目并手动编辑* proj文件。

<ItemGroup> <Content Include="myfolder**\*.dll**"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> </ItemGroup> 

然后在content-ItemGroup中,我将用一些MsBuild通配符expression式* .dll或其他来replace这个单独的文件。

如果您碰巧需要为整个文件夹设置生成操作 ,最好的方法是打开.csproj文件并使用正则expression式来replace所有的出现

 <Content .... 

 <None ... 

这对我来说非常合适。

我使用Visual Studio 2012,您可以在“解决scheme资源pipe理器”中按住Shift并单击以select多个项目,然后在“属性”窗口中一次性编辑每个项目的“复制到输出目录”属性。

当然,这不等同于你在function上寻找的解决scheme,但在语义上是这样的。 并希望下一个人偶然发现这个post与一个humongous文件夹补救(就像我一样)将不必深入.csproj文件。

希望这可以帮助!

编辑您的* .csproj或.vbproj文件

添加这个标签

  <ItemGroup> <Folder Include="YOUR_FOLDER_NAME_HERE/"> </ItemGroup 

最终的文件必须如下所示:

 <Project> <---some more tags---> <ItemGroup> <Folder Include="YOUR_FOLDER_NAME_HERE\" /> </ItemGroup <---some more tags---> </Project>