I'm developing a web application and i'm using culture info localization. All the localization resources of my application are in another project containing only resource (resx) files. This architecture is used because I have other applications using the same resources.

My problem now is the localization of web.sitemap. Currently I have a resx file to web.sitemap in the project and I reference it using the following syntax


The problem is that this approach didn't work when I use resources contained in other projects.

Does any one know how to solve my problem?

Best regards,



The sitemap uses the default localization provider to invoke the localization expression contained in the sitemapnode. The default provider doesn't allow for an external assembly to be set via the expression. The only way to alter this behavior is to create your own localization provider. This article shows how to do this. After setting up your own provider you can use an expression like this to access a resource from an external assembly:

<%$ Resources: [assemblyName]|[resourceType], [resourceKey] %>

The actual implementation of the provider is not very difficult as you will see in the article.

Regards, Robin

Robin van der Knaap