在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>