Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to include ignored files when using Publish tool in VS2010?

I have a directory /media/fonts in my asp.net mvc project which contains fonts for my website. When I use the "Publish" tool in Visual Studio this folder is ignored even though it is included in my project. Other folders /media/images and /media/css are included just fine.

Is there any way to tell Visual Studio to not ignore this folder on publish?

like image 376
jessegavin Avatar asked Aug 11 '10 04:08

jessegavin


2 Answers

Select your font files and Change Build action as Content from Properties Window.

like image 151
jayhoonova Avatar answered Nov 20 '22 00:11

jayhoonova


You can fix this permanently by modifying the default Build Action for font file extensions (.eot, .ttf, etc)

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

The link has been assassinated by the cruel march of time, so here's a copy/paste of its contents:

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:

[$RootKey$\Projects{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\FileExtensions.spark]
"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 an 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.

like image 20
Chris Moschini Avatar answered Nov 20 '22 00:11

Chris Moschini