Everytime I add an xsd file to my Visual Studio 2008 build project, its build action is defaulted to "none". I regularly forget to put this one to "content" which messes up the build...
Is there anyway to set the default build action of xsd files to "content"?
Finally found the answer in another stackoverflow question:
http://blog.andreloker.de/post/2010/07/02/Visual-Studio-default-build-action-for-non-default-file-types.aspx
From the article:
CHANGING THE DEFAULT BUILD ACTION FOR A FILE-TYPE The default build
action of a file type can be configured in the registry. However,
instead of hacking the registry manually, we use a much better
approach: pkgdef files (a good article about pkgdef files). In
essence, pkdef are configuration files similar to .reg files that
define registry keys and values that are automatically merged into the
correct location in the real registry. If the pkgfile is removed, the
changes are automatically undone. Thus, you can safely modify the
registry without the danger of breaking anything – or at least, it’s
easy to undo the damage.
Finally, here’s an example of how to change the default build action
of a file type:
1:
[$RootKey$\Projects{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\FileExtensions.spark]
2: "DefaultBuildAction"="Content" The Guid in the key refers to
project type. In this case, “{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”
means “C# projects”. A rather comprehensive list of project type guids
can be found here. Although it does not cover Visual Studio 2010
explicitly, the Guids apply to the current version as well. By the
way, we can use C# as the project type here, because C# based MVC
projects are in fact C# projects (and web application projects). For
Visual Basic, you’d use “{F184B08F-C81C-45F6-A57F-5ABD9991F28F}”
instead.
$RootKey$ is in abstraction of the real registry key that Visual
Studio stores the configuration under:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0_Config (Note:
Do not try to manually edit anything under this key as it can be
overwritten at any time by Visual Studio).
The rest should be self explanatory: this option sets the default
build action of .spark files to “Content”, so those files are included
in the publishing process.
All you need to do now is to put this piece of text into a file with
the extension pkgdef, put it somewhere under
%PROGRAMFILES(x86)%\Microsoft Visual Studio
10.0\Common7\IDE\Extensions (on 64-bit systems) or %PROGRAMFILES(x86)%\Microsoft Visual Studio
10.0\Common7\IDE\Extensions (on 32-bit systems) and Visual Studio will load and apply the settings automatically the next time it starts. To
undo the changes, simply remove the files.
Go to Projects > Custom Build Rules and add the appropriate build-time action for xsd
extension. Or, do you want something else?