Here's something useful I've learned today...
I had created a custom master file and included this line:
<img runat="server" src="<% $SPUrl:~SiteCollection/Style Library/Images/~language/LocalLogo.JPG%>" alt="Logo"/>
This line had to provide a localized site logo for a MOSS 2007 site. When I tried using the master page, I got the following error:
An error occurred during the compilation of the requested file, or one of its dependencies. The type or namespace name 'Publishing' does not exist in the namespace 'Microsoft.SharePoint' (are you missing an assembly reference?)
After quite a long search (at least for such a "small" problem), I finally found the solution on Clever Workarounds. Apparently, the error was that I had used the Default.master file to start my custom page from. This masterpage doesn't support Publishing by default though (as opposed to Blueband.master for example), so you have to add these following assembly declarations to your custom master page:
<%@ Register Tagprefix="PublishingWebControls" Namespace="Microsoft.SharePoint.Publishing.WebControls" Assembly="Microsoft.SharePoint.Publishing, Version=22.214.171.124, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="PublishingNavigation" Namespace="Microsoft.SharePoint.Publishing.Navigation" Assembly="Microsoft.SharePoint.Publishing, Version=126.96.36.199, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register TagPrefix="PublishingVariations" TagName="VariationsLabelMenu" src="~/_controltemplates/VariationsLabelMenu.ascx" %>
<%@ Register Tagprefix="PublishingConsole" TagName="Console" src="~/_controltemplates/PublishingConsole.ascx" %>
<%@ Register TagPrefix="PublishingSiteAction" TagName="SiteActionMenu" src="~/_controltemplates/PublishingActionMenu.ascx" %>
That should do the job...