您可以通过修改字体文件扩展名的默认“Build Action”(构建操作)来永久解决此问题(.eot、.ttf等)。
http://blog.andreloker.de/post/2010/07/02/Visual-Studio-default-build-action-for-non-default-file-types.aspx 该链接已经被时间残忍地抹去,所以这里复制粘贴了其内容:
文件类型的默认构建操作可以在注册表中配置。但是,我们不需要手动修改注册表,因为有更好的方法:pkgdef 文件(一篇有关 pkgdef 文件的好文章)。本质上,pkgdef 是类似于 .reg 文件的配置文件,它定义了在真实注册表的正确位置自动合并的注册表键和值。如果删除了 pkgdef 文件,则更改会自动撤消。因此,您可以安全地修改注册表,而不用担心破坏任何东西——或者至少很容易撤销损坏。
最后,这里是一个示例,说明如何更改文件类型的默认构建操作:
[$RootKey$\Projects{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\FileExtensions.spark]
"DefaultBuildAction"="Content"
关键字中的 Guid 指的是项目类型。在这种情况下,{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
表示“C# 项目”。可以在这里找到一个相当全面的项目类型 GUID 列表。虽然它没有明确涵盖 Visual Studio 2010,但这些 GUID 同样适用于当前版本。顺便说一句,我们可以使用 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
文件的默认构建操作设置为“Content”,因此这些文件包含在发布过程中。
现在,您需要做的就是将此文本放入扩展名为 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将自动加载并应用设置,下次启动时生效。要撤销更改,只需删除这些文件即可。