In a recent post, I listed a number of methods for embedding manifests in managed assemblies. As I mention in that post, my preferred option is to call the mt.exe tool during a custom post-build step. But I recently found that this doesn’t work so well for VC++ projects, as it overwrites the manifest that may have been added during the VC++ build process. (Not good, since VC++ applications also commonly use manifests for defining other settings – like side-by-side assemblies).
Last week I learned that, for VC++ 2005 projects, all you have to do is add the manifest file to the project and VC++ does the rest! (Just make sure the manifest file ends with a .manifest extension). And this works for both native and managed C++ apps. (Thank you Boris, for pointing this out to me!)