Victor Chelaru
Victor Chelaru

Reputation: 4847

How can I have an entire folder be an embedded resource in a Visual Studio project?

I'm working on a project which we'll call Container. Container has a bunch of EmbeddedResources. The original files for these EmbeddedResources are another project which we'll call FileProject.

FileProject is a project that is currently being worked on by a group of different developers and is always changing, so I have my EmbeddedResource files linked - so that whenever the original project changes and I do a rebuild of my project, it picks up the changes.

This setup catches whenever a file changes, but it doesn't catch whenever a new file is added or removed from the project. Is there a way to make EmbeddedResources out of an entire folder structure in Visual Studio to catch file removal and additions?

Upvotes: 22

Views: 13371

Answers (1)

Michael Liu
Michael Liu

Reputation: 55509

Edit the project file for Container in a text editor and find the <EmbeddedResource> elements that link to the files in FileProject:

<EmbeddedResource Include="..\FileProject\Copy.bmp">
  <Link>Copy.bmp</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\FileProject\Paste.bmp">
  <Link>Paste.bmp</Link>
</EmbeddedResource>

Delete all of these elements and replace them with a single <EmbeddedResource> element that has a suitable wildcard:

<EmbeddedResource Include="..\FileProject\*.bmp" />

Now if you add Cut.bmp to FileProject, it will also show up in Container.

Upvotes: 42

Related Questions