コード例 #1
0
        /// <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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }