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


C# Project.MarkDirty方法代碼示例

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


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

示例1: DirtyMarking2

        public void DirtyMarking2 ()
        {
            string project_xml = @"<Project xmlns='http://schemas.microsoft.com/developer/msbuild/2003' />";
            var xml = XmlReader.Create (new StringReader (project_xml));
            var root = ProjectRootElement.Create (xml);
            var proj = new Project (root);
            proj.DisableMarkDirty = true;
            proj.MarkDirty ();
            Assert.IsFalse (proj.IsDirty, "#1"); // not rejected, just ignored.
            proj.DisableMarkDirty = false;
            Assert.IsFalse (proj.IsDirty, "#2"); // not like status pending
            proj.MarkDirty ();
            Assert.IsTrue (proj.IsDirty, "#3");
        }
開發者ID:nlhepler,項目名稱:mono,代碼行數:14,代碼來源:ProjectTest.cs

示例2: BuildEvaluationUsesCustomLoggers

        public void BuildEvaluationUsesCustomLoggers()
        {
            string importProjectContent =
                ObjectModelHelpers.CleanupFileContents(@"<Project xmlns='msbuildnamespace'>
                </Project>");

            string importFileName = Microsoft.Build.Shared.FileUtilities.GetTemporaryFile() + ".proj";
            File.WriteAllText(importFileName, importProjectContent);

            string projectContent =
                ObjectModelHelpers.CleanupFileContents(@"<Project xmlns='msbuildnamespace'>
                    <Import Project=""" + importFileName + @"""/>
                    <Import Project=""" + importFileName + @"""/>
                    <ItemGroup>
                        <Compile Include='a.cs' />
                    </ItemGroup>
                    <Target Name=""Build"" />
                </Project>");

            Project project = new Project(XmlReader.Create(new StringReader(projectContent)));
            project.MarkDirty();

            MockLogger collectionLogger = new MockLogger();
            project.ProjectCollection.RegisterLogger(collectionLogger);

            MockLogger mockLogger = new MockLogger();

            bool result;

            try
            {
                result = project.Build(new ILogger[] { mockLogger });
            }
            catch
            {
                throw;
            }
            finally
            {
                project.ProjectCollection.UnregisterAllLoggers();
            }

            Assert.Equal(true, result);

            Assert.Equal(0, mockLogger.WarningCount); //                 "Log should not contain MSB4011 because the build logger will not receive evaluation messages."

            Assert.Equal(collectionLogger.Warnings[0].Code, "MSB4011"); //                 "Log should contain MSB4011 because the project collection logger should have been used for evaluation."
        }
開發者ID:cameron314,項目名稱:msbuild,代碼行數:48,代碼來源:Project_Tests.cs

示例3: DirtyMarking

        public void DirtyMarking ()
        {
            string project_xml = @"<Project xmlns='http://schemas.microsoft.com/developer/msbuild/2003' />";
            var xml = XmlReader.Create (new StringReader (project_xml));
            var root = ProjectRootElement.Create (xml);
            var proj = new Project (root);
            Assert.IsFalse (proj.IsDirty, "#1");
            proj.MarkDirty ();
            Assert.IsTrue (proj.IsDirty, "#2");
        }
開發者ID:nlhepler,項目名稱:mono,代碼行數:10,代碼來源:ProjectTest.cs

示例4: ExternallyMarkDirty

        public void ExternallyMarkDirty()
        {
            Project project = new Project();
            project.SetProperty("p", "v");
            project.ReevaluateIfNecessary();

            Assert.Equal(false, project.IsDirty);

            ProjectProperty property1 = project.GetProperty("p");

            project.MarkDirty();

            Assert.Equal(true, project.IsDirty);

            project.ReevaluateIfNecessary();

            Assert.Equal(false, project.IsDirty);

            ProjectProperty property2 = project.GetProperty("p");

            Assert.Equal(false, Object.ReferenceEquals(property1, property2)); // different object indicates reevaluation occurred
        }
開發者ID:cameron314,項目名稱:msbuild,代碼行數:22,代碼來源:Project_Tests.cs


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