/// <summary> /// WPresources and App_GlobalResources files /// </summary> /// <param name="resourcesDir"></param> /// <returns></returns> public ApplicationResourceFileDefinitions BuildApplicationResourceFileDefinition(string dir80, ApplicationResourceFileDefinitions applicationResourceFiles) { Dictionary <string, object> items = GetApplicationResourceFileDefinitionItems(applicationResourceFiles); string wpresources = dir80 + @"\\" + ApplicationResourceFileDefinition.PATH_NAME; if (Directory.Exists(wpresources)) { DirectoryInfo resourcesDir = new DirectoryInfo(wpresources); if (FileProvider.IncludeDir(resourcesDir)) { AddApplicationResourceFileDefinitions(resourcesDir, resourcesDir.FullName.Length + 1, items); } } string globalresources = dir80 + @"\\" + App_GlobalResourceFileDefinition.PATH_NAME; if (Directory.Exists(globalresources)) { DirectoryInfo resourcesDir = new DirectoryInfo(globalresources); if (FileProvider.IncludeDir(resourcesDir)) { this.IsWSS40 = true; AddApp_GlobalResourceFileDefinition(resourcesDir, resourcesDir.FullName.Length + 1, items); } } if (items.Count == 0) { return(applicationResourceFiles); } if (applicationResourceFiles == null) { applicationResourceFiles = new ApplicationResourceFileDefinitions(); } object[] tempItems = new object[items.Values.Count]; items.Values.CopyTo(tempItems, 0); applicationResourceFiles.Items = tempItems; return(applicationResourceFiles); }
public void Build() { // Setup WSPBuilderHandler wspBuilder = new WSPBuilderHandler(PROJECTNAME); // Run wspBuilder.Build(); // Test string filename = wspBuilder.ProjectPath + @"\manifest.xml"; Assert.IsTrue(File.Exists(filename)); ManifestHandler manifestHandler = new ManifestHandler(filename); Assert.IsNotNull(manifestHandler.Manifest.ApplicationResourceFiles); Assert.IsNotNull(manifestHandler.Manifest.ApplicationResourceFiles.Items); Assert.AreEqual(manifestHandler.Manifest.ApplicationResourceFiles.Items.Length, 4); int countWPResources = 0; int countGlobalResouces = 0; ApplicationResourceFileDefinitions defs = manifestHandler.Manifest.ApplicationResourceFiles; foreach (object item in defs.Items) { if (item is App_GlobalResourceFileDefinition) { App_GlobalResourceFileDefinition globalItem = item as App_GlobalResourceFileDefinition; countGlobalResouces++; } else { ApplicationResourceFileDefinition appResourceFileDef = item as ApplicationResourceFileDefinition; countWPResources++; } } Assert.AreEqual(countGlobalResouces, 3); Assert.AreEqual(countWPResources, 1); }
private Dictionary <string, object> GetApplicationResourceFileDefinitionItems(ApplicationResourceFileDefinitions applicationResourceFiles) { Dictionary <string, object> items = new Dictionary <string, object>(StringComparer.OrdinalIgnoreCase); if (applicationResourceFiles != null && applicationResourceFiles.Items != null) { foreach (object item in applicationResourceFiles.Items) { if (item is App_GlobalResourceFileDefinition) { App_GlobalResourceFileDefinition globalItem = item as App_GlobalResourceFileDefinition; items.Add(globalItem.Location, item); } else { ApplicationResourceFileDefinition appResourceFileDef = item as ApplicationResourceFileDefinition; items.Add(appResourceFileDef.Location, item); } } } return(items); }