Could not find the specified key "ProductsLandingPageTitle" or class id "ProductsResources"
Hello!
I add sample product module to my project, set it as show in documentation, and after restart application get error.
Removing registry string from SystemConfig.config don't solve problem.
Could not find the specified key "ProductsLandingPageTitle" or class id "ProductsResources".
Stack Trace:
[ArgumentException: Could not find the specified key "ProductsLandingPageTitle" or class id "ProductsResources".]
Telerik.Sitefinity.Localization.Resource.GetString(ResourceDataProvider provider, String classId, String key, CultureInfo culture, Boolean falback, Boolean throws) +454
Telerik.Sitefinity.Localization.Res.Get(String classId, String key, CultureInfo culture, Boolean fallback, Boolean throws) +168
Telerik.Sitefinity.Abstractions.AppSettings.GetResourceValue(String resourceClassId, String resourceKey, CultureInfo culture) +125
Telerik.Sitefinity.Descriptors.LstringPropertyDescriptor.GetValueFromResource(String value, CultureInfo culture) +121
Telerik.Sitefinity.Descriptors.LstringPropertyDescriptor.TryGetResourceValue(Object component, String& value, CultureInfo culture) +140
Telerik.Sitefinity.Descriptors.LstringPropertyDescriptor.GetValue(Object component, CultureInfo culture, Boolean throwException, CultureInfo[] defaultCultures) +58
Telerik.Sitefinity.Descriptors.LstringPropertyDescriptor.GetValue(Object component, CultureInfo culture, Boolean throwException) +71
Telerik.Sitefinity.Descriptors.LstringPropertyDescriptor.GetString(Object component, CultureInfo culture, Boolean fallback) +100
Telerik.Sitefinity.Model.Lstring.GetString(CultureInfo culture, Boolean fallback) +64
Telerik.Sitefinity.Model.Lstring.get_Value() +35
Telerik.Sitefinity.Web.PageSiteNode..ctor(SiteMapBase provider, PageNode pageNode) +2725
Telerik.Sitefinity.Web.SiteMapBase.GetChildNodes(SiteMapNode node, Boolean ifAccessible) +470
Telerik.Sitefinity.Web.SiteMapBase.GetChildNodes(SiteMapNode node) +12
System.Web.SiteMapNode.get_ChildNodes() +30
System.Web.SiteMapNode.get_HasChildNodes() +10
Telerik.Sitefinity.Web.UI.Backend.MainMenu.IsNodeEmpty(PageSiteNode node) +30
Telerik.Sitefinity.Web.UI.Backend.MainMenu.<
IsNodeEmpty
>b__6(PageSiteNode c) +4
System.Linq.WhereArrayIterator`1.MoveNext() +55
System.Linq.Enumerable.Count(IEnumerable`1 source) +200
Telerik.Sitefinity.Web.UI.Backend.MainMenu.IsNodeEmpty(PageSiteNode node) +252
Telerik.Sitefinity.Web.UI.Backend.MainMenu.<
IsNodeEmpty
>b__6(PageSiteNode c) +4
System.Linq.WhereArrayIterator`1.MoveNext() +55
System.Linq.Enumerable.Count(IEnumerable`1 source) +200
Telerik.Sitefinity.Web.UI.Backend.MainMenu.IsNodeEmpty(PageSiteNode node) +252
Telerik.Sitefinity.Web.UI.Backend.MainMenu.CreateRadMenuItemFromNode(SiteMapNode node) +100
Telerik.Sitefinity.Web.UI.Backend.MainMenu.OnLoad(EventArgs e) +408
System.Web.UI.Control.LoadRecursive() +98
System.Web.UI.Control.LoadRecursive() +168
System.Web.UI.Control.LoadRecursive() +168
System.Web.UI.Control.LoadRecursive() +168
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3488
Hi Helga,
The error describes that to a control which has some specific permissions.
If you get this error it means that the module is removed from the system configuration and you are missing some kind of reference thus it fails to initialize properly. If it does not initialize properly it will not be able to load its localization resources.
So please verify that your module is correctly registered / or removed - if it is custom module / from your system and the references / dependencies, assemblies / are correctly set as shown in our documentation.
Greetings,
Victor Velev
the Telerik team
Article contain instructions for Sitefinity's backend, but I can't go to Sitefinity's backend because of error. Is there other way to verify that module is correctly registered?
Hello Helga,
Open SystemConfig.config located under App_Data/Sitefinity/Configuration and see whether there is line that registers the module.
The error says that there are missing localization resources - ProductsLandingPageTitle. You can search that you have added the proper keys for ProductsResources
Kind regards,
Ivan Dimitrov
the Telerik team
There is string <add title="ProductsModule" description="" resourceClassId="" type="ProductCatalogSample.ProductsModule" startupType="OnFirstCall" name="ProductsModule" /> in the SystemConfig.config.
At ProductsResources.cs:
[ResourceEntry("ProductsLandingPageTitle",
Value = "Products",
Description = "phrase: Products")]
public string ProductsLandingPageTitle
get return this["ProductsLandingPageTitle"];
Hello Helga,
You need to add the resource class id. For example before initializing the Resource class you should have something like ( also please check the attached screenshot ):
[ObjectInfo("ProductsResources", ResourceClassId = "ProductsResources")]
ProductsResources
" ). You can also have a look at our SDK, especially the Jobs module, which shows how a module should be registered properly.