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"); }
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"); }