代码之家  ›  专栏  ›  技术社区  ›  brendan

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

  •  49
  • brendan  · 技术社区  · 14 年前

    我在Visual Studio中有一个项目。我需要部署一些第三方文件和我的代码。通常,我会将这些文件放在“resources”目录中,并将每个文件的构建操作设置为“content”,将复制到输出目录设置为“copy if update”。

    是否可以在文件夹级别设置这些指令?我正在处理的当前项目有几十个这样的文件和几个子文件夹。我希望能够使整个目录成为“内容”和“复制如果更新”。

    4 回复  |  直到 9 年前
        1
  •  52
  •   Arve    14 年前

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

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

    然后在content itemgroup中,我将用一些msbuild通配符表达式、*.dll或其他内容替换该单个文件。

        2
  •  7
  •   Juri    11 年前

    如果你恰好需要设置 构建动作 对于整个文件夹,最好的选择是打开 CSPROJ 文件并使用regex替换

    <Content ....
    

    <None ...
    

    这对 me .

        3
  •  6
  •   Freestyle076    9 年前

    我使用Visual Studio 2012,您可以在解决方案资源管理器中按住Shift键单击选择多个项,然后在“属性”窗口中同时编辑每个项的“复制到输出目录”属性。

    当然,这并不等同于您在功能上寻找的解决方案,但在语义上是这样的。希望下一个偶然发现这篇文章的人(和我一样)不必深入.csproj文件。

    希望这有帮助!

        4
  •  1
  •   jcmordan    10 年前

    编辑您的*.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>