コード例 #1
0
        public void SkipProducingPdbVB()
        {
            // create a temp project
            Helper.CreateTempVBProject();

            // build it and expect the .pdb to be in the output directory
            MockLogger l = ObjectModelHelpers.BuildTempProjectFileWithTargetsExpectSuccess(@"ConsoleApplication\ConsoleApplication.vbproj", null, null, true);
            l.AssertLogContains("/debug+");
            l.AssertLogContains("/debug:full");
            ObjectModelHelpers.AssertFileExistsInTempProjectDirectory(@"ConsoleApplication\bin\Debug\ConsoleApplication.pdb");

            //// set the DebugType=none property
            Dictionary<string, string> additionalProperties = new Dictionary<string, string> ();
            additionalProperties.SetProperty("DebugType", "none");

            // build the project again and expect the .pdb to have been removed from the output directory
            l.ClearLog();
            l = ObjectModelHelpers.BuildTempProjectFileWithTargetsExpectSuccess(@"ConsoleApplication\ConsoleApplication.vbproj", null, additionalProperties, true);
            l.AssertLogDoesntContain("/debug+");
            l.AssertLogContains("/debug-");
            l.AssertLogDoesntContain("/debug:full");
            ObjectModelHelpers.AssertFileDoesNotExistInTempProjectDirectory(@"ConsoleApplication\bin\Debug\ConsoleApplication.pdb");

            // set the DebugType property explicitly to "full"
            additionalProperties.SetProperty("DebugType", "full");

            // build the project again and expect the .pdb to be back in the output directory
            l.ClearLog();
            l = ObjectModelHelpers.BuildTempProjectFileWithTargetsExpectSuccess(@"ConsoleApplication\ConsoleApplication.vbproj", null, null, true);
            l.AssertLogContains("/debug+");
            l.AssertLogContains("/debug:full");
            ObjectModelHelpers.AssertFileExistsInTempProjectDirectory(@"ConsoleApplication\bin\Debug\ConsoleApplication.pdb");
        }
コード例 #2
0
        public void SkipProducingPdbCsharp()
        {
            // create a temp project
            Helper.CreateTempCSharpProjectWithClassLibrary();

            // build it and expect the .pdb to be in the output directory: verify /debug+ /debug:full is default for debug config
            MockLogger l = ObjectModelHelpers.BuildTempProjectFileWithTargetsExpectSuccess(@"ConsoleApplication\ConsoleApplication.csproj", null, null);
            l.AssertLogContains("/debug+");
            l.AssertLogContains("/debug:full");
            ObjectModelHelpers.AssertFileExistsInTempProjectDirectory(@"ConsoleApplication\bin\Debug\ConsoleApplication.pdb");

            // verify /debug:pdbonly is default for release config
            Dictionary<string, string> additionalProperties = new Dictionary<string, string> ();
            additionalProperties.SetProperty("Configuration", "release");
            l.ClearLog();
            l = ObjectModelHelpers.BuildTempProjectFileWithTargetsExpectSuccess(@"ConsoleApplication\ConsoleApplication.csproj", null, additionalProperties, true);
            l.AssertLogDoesntContain("/debug+");
            l.AssertLogContains("/debug:pdbonly");
            ObjectModelHelpers.AssertFileExistsInTempProjectDirectory(@"ConsoleApplication\bin\release\ConsoleApplication.pdb");

            // set the DebugSymbols=false property
            additionalProperties = new Dictionary<string, string> ();
            additionalProperties.SetProperty("DebugType", "none");

            // build the project again and expect the .pdb to have been removed from the output directory
            l = ObjectModelHelpers.BuildTempProjectFileWithTargetsExpectSuccess(@"ConsoleApplication\ConsoleApplication.csproj", null, additionalProperties, true);
            l.AssertLogDoesntContain("/debug+");
            l.AssertLogContains("/debug-");
            l.AssertLogDoesntContain("/debug:full");
            ObjectModelHelpers.AssertFileDoesNotExistInTempProjectDirectory(@"ConsoleApplication\bin\Debug\ConsoleApplication.pdb");

            // debug config again; set the DebugType property explicitly to "full"
            additionalProperties = new Dictionary<string, string>();
            additionalProperties["DebugType"] ="full";

            // build the project again and expect the .pdb to be back in the output directory
            l.ClearLog();
            l = ObjectModelHelpers.BuildTempProjectFileWithTargetsExpectSuccess(@"ConsoleApplication\ConsoleApplication.csproj", null, additionalProperties, true);
            l.AssertLogContains("/debug+");
            l.AssertLogContains("/debug:full");
            ObjectModelHelpers.AssertFileExistsInTempProjectDirectory(@"ConsoleApplication\bin\Debug\ConsoleApplication.pdb");

            // try release configuration with DebugSymbols set to true, as well
            additionalProperties = new Dictionary<string, string>();
            additionalProperties["Configuration"] = "release";
            additionalProperties["DebugSymbols"] = "true";
            l.ClearLog();
            l = ObjectModelHelpers.BuildTempProjectFileWithTargetsExpectSuccess(@"ConsoleApplication\ConsoleApplication.csproj", null, additionalProperties, true);
            l.AssertLogContains("/debug+");
            l.AssertLogContains("/debug:pdbonly");
            ObjectModelHelpers.AssertFileExistsInTempProjectDirectory(@"ConsoleApplication\bin\release\ConsoleApplication.pdb");        
        }