public void GenerateStronglyTypedDesignerClassFromResxFile() { string filename = @"c:\temp\resourceTest\LocalizationForm.resx"; string designerFile = Path.ChangeExtension(filename, "designer.cs"); if (File.Exists(designerFile)) { File.Delete(designerFile); } var str = new StronglyTypedResources(@"c:\temp\resourceTest"); #if NETFULL str.CreateResxDesignerClassFromResxFile(filename, "LocalizationAdmin", "Westwind.Globalization.Sample"); #else str.CreateResxDesignerClassFromResourceSet("LocalizationAdmin", "Westwind.Globalization.Sample", "LocalizationAdmin", filename); #endif Assert.IsTrue(File.Exists(designerFile)); }
public bool CreateClass([FromBody] dynamic parms) { #if OnlineDemo throw new ApplicationException(WebUtils.GRes("FeatureDisabled")); #endif var config = DbResourceConfiguration.Current; // { filename: "~/properties/resources.cs, nameSpace: "WebApp1", resourceSets: ["rs1","rs2"],classType: "DbRes|Resx"] string filename = parms["fileName"]; string nameSpace = parms["namespace"]; string classType = parms["classType"]; JArray rs = parms["resourceSets"] as JArray; string[] resourceSets = null; if (rs != null) { resourceSets = rs.ToObject <string[]>(); if (resourceSets != null && resourceSets.Length == 1 && string.IsNullOrEmpty(resourceSets[0])) { resourceSets = null; } } StronglyTypedResources strongTypes = new StronglyTypedResources(Request.MapPath("~/", basePath: Host.ContentRootPath)); if (string.IsNullOrEmpty(filename)) { filename = Request.MapPath(config.StronglyTypedGlobalResource, basePath: Host.ContentRootPath); } else if (filename.StartsWith("~")) { filename = Request.MapPath(filename, basePath: Host.ContentRootPath); } filename = DbResourceUtils.NormalizePath(filename); if (string.IsNullOrEmpty(nameSpace)) { nameSpace = config.ResourceBaseNamespace; } if (!string.IsNullOrEmpty(strongTypes.ErrorMessage)) { throw new ApplicationException(DbIRes.T("StronglyTypedGlobalResourcesFailed", STR_RESOURCESET)); } if (classType != "Resx") { strongTypes.CreateClassFromAllDatabaseResources(nameSpace, filename, resourceSets); } else { string outputBasePath = filename; if (resourceSets == null || resourceSets.Length < 1) { resourceSets = Manager.GetAllResourceSets(ResourceListingTypes.AllResources).ToArray(); } foreach (var resource in resourceSets) { string file = Path.Combine(outputBasePath, resource + ".resx"); if (!System.IO.File.Exists(file)) { continue; } var str = new StronglyTypedResources(null); #if NETFULL // Use automated generation str.CreateResxDesignerClassFromResxFile(file, resource, nameSpace, false); #else // Manual code generation str.CreateResxDesignerClassFromResourceSet(resource, nameSpace, resource, file); #endif } } return(true); }