当前位置: 首页>>代码示例>>C#>>正文


C# Microsoft.Build.Evaluation.GetItemsIgnoringCondition方法代码示例

本文整理汇总了C#中Microsoft.Build.Evaluation.GetItemsIgnoringCondition方法的典型用法代码示例。如果您正苦于以下问题:C# Microsoft.Build.Evaluation.GetItemsIgnoringCondition方法的具体用法?C# Microsoft.Build.Evaluation.GetItemsIgnoringCondition怎么用?C# Microsoft.Build.Evaluation.GetItemsIgnoringCondition使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Microsoft.Build.Evaluation的用法示例。


在下文中一共展示了Microsoft.Build.Evaluation.GetItemsIgnoringCondition方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GenerateReferences

        private void GenerateReferences(ProjectRootElement project, MB.Project projectManipulator, CscTask task, GenerateMsBuildTask generator)
        {
            projectManipulator.RemoveItems(projectManipulator.GetItemsIgnoringCondition("Reference"));
            projectManipulator.RemoveItems(projectManipulator.GetItemsIgnoringCondition("ProjectReference"));

            foreach(var reference in task.References.FileNames)
            {
                var name = Path.GetFileNameWithoutExtension(reference);
                var relativeReference = new FileInfo(reference).GetPathRelativeTo(new DirectoryInfo(project.DirectoryPath));
                var matchedProject = generator.FindProjectReference(relativeReference);
                if (matchedProject == null)
                {
                    project.AddItem(
                        "Reference",
                        name,
                        new[]
                        {
                            new KeyValuePair<string, string>("Name", name),
                            new KeyValuePair<string, string>("HintPath", MB.ProjectCollection.Escape(relativeReference))
                        });
                }
                else
                {
                    project.AddItem(
                        "ProjectReference",
                        MB.ProjectCollection.Escape(new FileInfo(matchedProject.FullPath).GetPathRelativeTo(new DirectoryInfo(project.DirectoryPath))),
                        new[]
                        {
                            new KeyValuePair<string, string>("Project", matchedProject.GetProjectId().ToString("B")),
                            new KeyValuePair<string, string>("Name", matchedProject.GetAssemblyName())
                        });
                }
            }
            foreach (var reference in new[] { "mscorlib", "System", "System.Xml" })
            {
                project.AddItem("Reference", reference, new[] { new KeyValuePair<string, string>("Name", reference) });
            }
        }
开发者ID:skolima,项目名称:generate-msbuild,代码行数:38,代码来源:CscTranslator.cs

示例2: GenerateCompileIncludes

        private void GenerateCompileIncludes(ProjectRootElement project, MB.Project projectManipulator, CscTask task)
        {
            projectManipulator.RemoveItems(projectManipulator.GetItemsIgnoringCondition("Compile"));
            projectManipulator.RemoveItems(projectManipulator.GetItemsIgnoringCondition("EmbeddedResource"));

            foreach (var include in task.Sources.FileNames)
            {
                project.AddItem(
                    "Compile",
                    MB.ProjectCollection.Escape(new FileInfo(include).GetPathRelativeTo(new DirectoryInfo(project.DirectoryPath))),
                    new[]
                    {
                        new KeyValuePair<string, string>("SubType", "Code")
                    });
            }
            foreach (var resourceList in task.ResourcesList)
            {
                foreach (var resource in resourceList.FileNames)
                {
                    project.AddItem(
                        "EmbeddedResource",
                        MB.ProjectCollection.Escape(new FileInfo(resource).GetPathRelativeTo(new DirectoryInfo(project.DirectoryPath))),
                        new[]
                        {
                            new KeyValuePair<string, string>("LogicalName", resourceList.GetManifestResourceName(resource))
                        });
                }
            }
            project.EnsureItemExists("None", MB.ProjectCollection.Escape(
                new FileInfo(task.Project.BuildFileLocalName).GetPathRelativeTo(new DirectoryInfo(project.DirectoryPath))));
        }
开发者ID:skolima,项目名称:generate-msbuild,代码行数:31,代码来源:CscTranslator.cs


注:本文中的Microsoft.Build.Evaluation.GetItemsIgnoringCondition方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。