In Visual Studio, how can I set the Build Action f

2019-01-06 12:58发布

I have a project in Visual Studio. I need to deploy some 3rd party files along with my code. Typically I would put this files in a "Resources" directory and set the Build Action on each file to "Content" and the Copy To Output Directory to "Copy if newer".

Is there anyway I can set these directives at the folder level. The current project I am working with has dozens of such files and a couple of sub folders. I'd like to be able to make the entire directory as "Content" and "Copy if newer".

4条回答
三岁会撩人
2楼-- · 2019-01-06 13:42

Create the project. Add one file as Content. Unload the project and edit the *proj file manually.

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

And then in the content-ItemGroup I would replace that singe file with some MsBuild wildcard expression, *.dll, or whatever.

查看更多
手持菜刀,她持情操
3楼-- · 2019-01-06 13:52

If you happen to have the need to set the Build Action for an entire folder the best option is to just open the .csproj file and use a regex to replace all the occurences from

<Content ....

to

<None ...

That worked just perfectly for me.

查看更多
Lonely孤独者°
4楼-- · 2019-01-06 13:53

Edit your *.csproj or .vbproj file

Add this tag

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

the final file must look like this:

<Project>
<---some more tags--->
      <ItemGroup>
        <Folder Include="YOUR_FOLDER_NAME_HERE\" />
      </ItemGroup
<---some more tags--->
</Project>
查看更多
虎瘦雄心在
5楼-- · 2019-01-06 13:56

I use Visual Studio 2012 and you can shift-click to select multiple items in the Solution Explorer then edit each item's Copy To Output Directory property all at once in the Properties window.

Granted this isn't equivalent to the solution you are looking for functionally, but semantically it is. And hopefully the next person to stumble across this post with a humongous folder to remedy (as is with me) won't have to dive into the .csproj file.

Hope this helps!

查看更多
登录 后发表回答