當前位置: 首頁>>代碼示例>>C#>>正文


C# Project.AddItem方法代碼示例

本文整理匯總了C#中Microsoft.Build.Evaluation.Project.AddItem方法的典型用法代碼示例。如果您正苦於以下問題:C# Project.AddItem方法的具體用法?C# Project.AddItem怎麽用?C# Project.AddItem使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Microsoft.Build.Evaluation.Project的用法示例。


在下文中一共展示了Project.AddItem方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: AddReference

        private void AddReference(InputProjectDriver inputProjectDriver, Project project, string reference)
        {
            string referenceFullPath = Path.GetFullPath(Path.Combine(AssemblyFolderHelper.GetTestAssemblyFolder(), reference));
            string assemblyName = Path.GetFileNameWithoutExtension(referenceFullPath);
            Debug.Assert(assemblyName != null);

            project.AddItem("Reference", assemblyName, new[]
                                                           {
                                                               new KeyValuePair<string, string>("HintPath", referenceFullPath),
                                                           });
        }
開發者ID:JonKruger,項目名稱:SpecFlow,代碼行數:11,代碼來源:ProjectGenerator.cs

示例2: ProjectGetter

        public void ProjectGetter()
        {
            Project project = new Project();
            ProjectItem item = project.AddItem("i", "i1")[0];

            Assert.Equal(true, Object.ReferenceEquals(project, item.Project));
        }
開發者ID:nikson,項目名稱:msbuild,代碼行數:7,代碼來源:ProjectItem_Tests.cs

示例3: BuildProject

        public static MSbuildResult BuildProject(MsBuildSettings settings, string projectFileName, DirectoryInfo dir)
        {
            var result = new MSbuildResult();
            var path = Path.Combine(dir.FullName, projectFileName);
            var project = new Project(path, null, null, new ProjectCollection());
            project.SetProperty("CscToolPath", settings.CompilerDirectory.FullName);
            var includes = new HashSet<string>(
                project.AllEvaluatedItems
                .Where(i => i.ItemType == "None" || i.ItemType == "Content")
                .Select(i => Path.GetFileName(i.EvaluatedInclude.ToLowerInvariant())));
            foreach (var dll in settings.WellKnownLibsDirectory.GetFiles("*.dll"))
                if (!includes.Contains(dll.Name.ToLowerInvariant()))
                    project.AddItem("None", dll.FullName);
            project.Save();
            using (var stringWriter = new StringWriter())
            {
                var logger = new ConsoleLogger(LoggerVerbosity.Minimal, stringWriter.Write, color => { }, () => { });
                result.Success = SyncBuild(project, logger);
                if (result.Success)
                    result.PathToExe = Path.Combine(project.DirectoryPath,
                                                    project.GetPropertyValue("OutputPath"),
                                                    project.GetPropertyValue("AssemblyName") + ".exe");
                else
                    result.ErrorMessage = stringWriter.ToString();
                return result;
            }
        }
開發者ID:kontur-edu,項目名稱:uLearn,代碼行數:27,代碼來源:MsBuildRunner.cs

示例4: CreateBuildProject

        void CreateBuildProject()
        {
            string projectPath = Path.Combine(buildDirectory, "content.contentproj");
            string outputPath = Path.Combine(buildDirectory, "bin");

            // Create the build project.
            projectRootElement = ProjectRootElement.Create(projectPath);

            // Include the standard targets file that defines how to build XNA Framework content.
            projectRootElement.AddImport(Application.StartupPath + "\\Exporters\\FBX\\XNA\\XNA Game Studio\\" +
                                         "v4.0\\Microsoft.Xna.GameStudio.ContentPipeline.targets");

            buildProject = new Project(projectRootElement);

            buildProject.SetProperty("XnaPlatform", "Windows");
            buildProject.SetProperty("XnaProfile", "Reach");
            buildProject.SetProperty("XnaFrameworkVersion", "v4.0");
            buildProject.SetProperty("Configuration", "Release");
            buildProject.SetProperty("OutputPath", outputPath);
            buildProject.SetProperty("ContentRootDirectory", ".");
            buildProject.SetProperty("ReferencePath", Application.StartupPath);

            // Register any custom importers or processors.
            foreach (string pipelineAssembly in pipelineAssemblies)
            {
                buildProject.AddItem("Reference", pipelineAssembly);
            }

            // Hook up our custom error logger.
            errorLogger = new ErrorLogger();

            buildParameters = new BuildParameters(ProjectCollection.GlobalProjectCollection)
                                  {Loggers = new ILogger[] {errorLogger}};
        }
開發者ID:nicolasmassouh,項目名稱:Babylon.js,代碼行數:34,代碼來源:ContentBuilder.cs

示例5: ProjectGetter

        public void ProjectGetter()
        {
            Project project = new Project();
            ProjectItem item = project.AddItem("i", "i1")[0];
            ProjectMetadata metadatum = item.SetMetadataValue("m", "m1");

            Assert.AreEqual(true, Object.ReferenceEquals(project, metadatum.Project));
        }
開發者ID:ravpacheco,項目名稱:msbuild,代碼行數:8,代碼來源:ProjectMetadata_Tests.cs

示例6: IncludeFileInCurrentProject

        public static void IncludeFileInCurrentProject(string approved)
        {
            var p = new Project(GetCurrentProjectFile(approved));
            if (!p.Items.Any(i => approved.EndsWith(i.UnevaluatedInclude)))
            {
                p.AddItem("Content", approved);
                p.Save();
            }
        }
開發者ID:GeertvanHorrik,項目名稱:ApprovalTests.Net,代碼行數:9,代碼來源:VisualStudioProjectFileAdder.cs

示例7: LinkToFile

        public void LinkToFile(Project project, BuildAction buildAction, string includeValue, string projectTargetPath)
        {
            if(projectTargetPath.StartsWith("\\"))
                throw new Exception("project target path cannot begin with a backslash");

            var matchingProjectItemByTargetPath = (from t in project.Items
                                                   where
                                                       t.HasMetadata("Link") &&
                                                       t.GetMetadataValue("Link") == projectTargetPath
                                                   select t).SingleOrDefault();

            if (matchingProjectItemByTargetPath != null) 
                project.RemoveItem(matchingProjectItemByTargetPath);

            var buildActionName = Enum.GetName(typeof(BuildAction), buildAction);

            project.AddItem(buildActionName, includeValue,
                            new[] {new KeyValuePair<string, string>("Link", projectTargetPath)});
        }
開發者ID:GeniusCode,項目名稱:GeniusCode.Toolkit.ProjectAutoFileLinker,代碼行數:19,代碼來源:ProjectFileLinker.cs

示例8: AddItem_EscapedItemInclude

        public void AddItem_EscapedItemInclude()
        {
            Project project = new Project();

            project.AddItem("i", "i%281%29");

            string expected = ObjectModelHelpers.CleanupFileContents(
@"<Project ToolsVersion=""msbuilddefaulttoolsversion"" xmlns=""msbuildnamespace"">
  <ItemGroup>
    <i Include=""i%281%29"" />
  </ItemGroup>
</Project>");

            Helpers.VerifyAssertProjectContent(expected, project.Xml);

            List<ProjectItem> items = Helpers.MakeList(project.Items);
            Assert.Equal(1, items.Count);
            Assert.Equal("i", items[0].ItemType);
            Assert.Equal("i(1)", items[0].EvaluatedInclude);
            Assert.Equal("i(1)", Helpers.GetFirst(project.GetItems("i")).EvaluatedInclude);
            Assert.Equal("i(1)", Helpers.MakeList(project.CreateProjectInstance().GetItems("i"))[0].EvaluatedInclude);
        }
開發者ID:cameron314,項目名稱:msbuild,代碼行數:22,代碼來源:DefinitionEditing_Tests.cs

示例9: SpecialCharactersInMetadataValueEvaluation

        public void SpecialCharactersInMetadataValueEvaluation()
        {
            Project project = new Project();
            ProjectItem item = project.AddItem("None", "MetadataTests", new Dictionary<string, string> {
                {"EscapedSemicolon", "%3B"}, //Microsoft.Build.Evaluation.ProjectCollection.Escape(";")
                {"EscapedDollarSign", "%24"}, //Microsoft.Build.Evaluation.ProjectCollection.Escape("$")
            }).Single();

            EscapingInProjectsHelper.SpecialCharactersInMetadataValueTests(item);
            project.ReevaluateIfNecessary();
            EscapingInProjectsHelper.SpecialCharactersInMetadataValueTests(item);
        }
開發者ID:cdmihai,項目名稱:msbuild,代碼行數:12,代碼來源:EscapingInProjects_Tests.cs

示例10: SettingItemIncludeDirties

        public void SettingItemIncludeDirties()
        {
            Project project = new Project();
            ProjectItem item = project.AddItem("i", "i1")[0];
            project.ReevaluateIfNecessary();

            item.Xml.Include = "i2";
            project.ReevaluateIfNecessary();

            Assert.Equal("i2", Helpers.GetFirst(project.Items).EvaluatedInclude);
        }
開發者ID:cameron314,項目名稱:msbuild,代碼行數:11,代碼來源:ProjectItemElement_Tests.cs

示例11: ItemsByEvaluatedIncludeDirectAdd

        public void ItemsByEvaluatedIncludeDirectAdd()
        {
            Project project = new Project();
            project.AddItem("i", "i1");

            List<ProjectItem> items = Helpers.MakeList(project.GetItemsByEvaluatedInclude("i1"));
            Assert.Equal(1, items.Count);
        }
開發者ID:cameron314,項目名稱:msbuild,代碼行數:8,代碼來源:Project_Tests.cs

示例12: SpecialCharactersInMetadataValueEvaluation

        public void SpecialCharactersInMetadataValueEvaluation()
        {
            Microsoft.Build.Evaluation.Project project = new Microsoft.Build.Evaluation.Project();
            var metadata = new Dictionary<string, string>
            {
                { "EscapedSemicolon", "%3B" }, // Microsoft.Build.Internal.Utilities.Escape(";")
                { "EscapedDollarSign", "%24" }, // Microsoft.Build.Internal.Utilities.Escape("$")
            };
            Microsoft.Build.Evaluation.ProjectItem item = project.AddItem(
                "None",
                "MetadataTests",
                metadata).Single();

            SpecialCharactersInMetadataValueTests(item);
            project.ReevaluateIfNecessary();
            SpecialCharactersInMetadataValueTests(item);
        }
開發者ID:ravpacheco,項目名稱:msbuild,代碼行數:17,代碼來源:ProjectMetadata_Tests.cs

示例13: SetValueWithPropertyExpression

        public void SetValueWithPropertyExpression()
        {
            Project project = new Project();
            project.SetProperty("p", "p0");
            ProjectItem item = project.AddItem("i", "i1")[0];
            ProjectMetadata metadatum = item.SetMetadataValue("m", "m1");
            project.ReevaluateIfNecessary();

            metadatum.UnevaluatedValue = "$(p)";

            Assert.AreEqual("$(p)", metadatum.UnevaluatedValue);
            Assert.AreEqual("p0", metadatum.EvaluatedValue);
        }
開發者ID:ravpacheco,項目名稱:msbuild,代碼行數:13,代碼來源:ProjectMetadata_Tests.cs

示例14: AddItem_MatchesWildcardWithCondition

        public void AddItem_MatchesWildcardWithCondition()
        {
            Project project = new Project();
            ProjectItemElement itemElement = project.Xml.AddItem("i", "*.xxx");
            itemElement.Condition = "true";
            project.ReevaluateIfNecessary();

            project.AddItem("i", "i1.xxx");

            string expected = ObjectModelHelpers.CleanupFileContents(
@"<Project ToolsVersion=""msbuilddefaulttoolsversion"" xmlns=""msbuildnamespace"">
  <ItemGroup>
    <i Include=""*.xxx"" Condition=""true"" />
    <i Include=""i1.xxx"" />
  </ItemGroup>
</Project>");

            Helpers.VerifyAssertProjectContent(expected, project);
        }
開發者ID:cdmihai,項目名稱:msbuild,代碼行數:19,代碼來源:DefinitionEditing_Tests.cs

示例15: AddItem_ContainingSemicolonExistingWildcard

        public void AddItem_ContainingSemicolonExistingWildcard()
        {
            Project project = new Project();
            project.Xml.AddItem("i", "*.xxx");
            project.ReevaluateIfNecessary();

            project.AddItem("i", "i1.xxx;i2.xxx");

            string expected = ObjectModelHelpers.CleanupFileContents(
@"<Project ToolsVersion=""msbuilddefaulttoolsversion"" xmlns=""msbuildnamespace"">
  <ItemGroup>
    <i Include=""*.xxx"" />
    <i Include=""i1.xxx;i2.xxx"" />
  </ItemGroup>
</Project>");

            Helpers.VerifyAssertProjectContent(expected, project);
        }
開發者ID:cdmihai,項目名稱:msbuild,代碼行數:18,代碼來源:DefinitionEditing_Tests.cs


注:本文中的Microsoft.Build.Evaluation.Project.AddItem方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。