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) +3488Hi 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.