文件类型的默认构建操作

每次我将xsd文件添加到我的Visual Studio 2008构建项目时,其构建操作默认为“none”。 我经常忘记将这一个放到“内容”中,这会影响构建……

反正有没有将xsd文件的默认构建操作设置为“内容”?

终于在另一个stackoverflow问题中找到了答案:

http://blog.andreloker.de/post/2010/07/02/Visual-Studio-default-build-action-for-non-default-file-types.aspx


来自文章:

更改文件类型的默认构建操作可以在注册表中配置文件类型的默认构建操作。 但是,我们使用更好的方法而不是手动破解注册表:pkgdef文件(关于pkgdef文件的好文章)。 实质上,pkdef是类似于.reg文件的配置文件,它们定义注册表项和值,这些注册表项和值会自动合并到真实注册表中的正确位置。 如果删除了pkg文件,则会自动撤消更改。 因此,您可以安全地修改注册表而不会有任何破坏的危险 – 或者至少,它很容易撤消损坏。

最后,这是一个如何更改文件类型的默认构建操作的示例:

1:[$ RootKey $ \ Projects {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} \ FileExtensions.spark] 2:“DefaultBuildAction”=“Content”密钥中的Guid指项目类型。 在这种情况下,“{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”表示“C#项目”。 可以在此处找到相当全面的项目类型指南列表。 虽然它没有明确涵盖Visual Studio 2010,但Guids也适用于当前版本。 顺便说一下,我们可以在这里使用C#作为项目类型,因为基于C#的MVC项目实际上是C#项目(和Web应用程序项目)。 对于Visual Basic,您可以使用“{F184B08F-C81C-45F6-A57F-5ABD9991F28F}”代替。

$ RootKey $是Visual Studio存储配置的真实注册表项的抽象:HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 10.0_Config(注意:不要尝试手动编辑此键下的任何内容,因为它可以随时被覆盖通过Visual Studio)。

其余部分应该是自解释的:此选项将.spark文件的默认构建操作设置为“内容”,因此这些文件包含在发布过程中。

您现在需要做的就是将这段文本放入扩展名为pkgdef的文件中,将其放在%PROGRAMFILES(x86)%\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ Extensions(在64位系统上)或%PROGRAMFILES(x86)%\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ Extensions(在32位系统上)和Visual Studio将在下次启动时自动加载和应用设置。 要撤消更改,只需删除文件即可。

转到“项目”>“自定义生成规则”,并为xsd扩展添加适当的生成时操作。 或者,你想要别的吗?