Skip to content

Commit

Permalink
Change WPF and WinForms trim warnings to errors (#19409)
Browse files Browse the repository at this point in the history
  • Loading branch information
agocke authored Jul 30, 2021
1 parent c04b8ca commit e73ed02
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 27 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -169,11 +169,11 @@ Copyright (c) .NET Foundation. All rights reserved.
ResourceName="PublishTrimmedRequiresVersion30" />

<!-- Generate Trimming warnings for WinForms and Wpf applications-->
<NetSdkWarning Condition="'$(UseWindowsForms)' == 'true' and '$(PublishTrimmed)' == 'true'"
<NetSdkError Condition="('$(UseWindowsForms)' == 'true') and ('$(PublishTrimmed)' == 'true') and ('$(_SuppressWinFormsTrimError)' != 'true')"
ResourceName="TrimmingWindowsFormsIsNotSupported" />
<NetSdkWarning Condition="'$(UseWpf)' == 'true' and '$(PublishTrimmed)' == 'true'"
<NetSdkError Condition="('$(UseWpf)' == 'true') and ('$(PublishTrimmed)' == 'true') and ('$(_SuppressWpfTrimError)' != 'true')"
ResourceName="TrimmingWpfIsNotSupported" />

</Target>

<Target Name="_CheckForUnsupportedHostingUsage"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@ public GivenThatWeWantToPublishTrimmedWindowsFormsAndWPFApps(ITestOutputHelper l
}

[WindowsOnlyRequiresMSBuildVersionFact("17.0.0.32901")]
public void It_builds_windows_Forms_app_with_warning()
public void It_builds_windows_Forms_app_with_error()
{
var targetFramework = "net6.0-windows";
TestProject testProject = new TestProject()
{
Name = "WinformsBuildWarnPresentPassTest",
Name = "WinformsBuildErrorFailTest",
TargetFrameworks = targetFramework,
IsWinExe=true
};
Expand All @@ -37,24 +37,24 @@ public void It_builds_windows_Forms_app_with_warning()
var buildCommand = new BuildCommand(testAsset);
buildCommand.Execute()
.Should()
.Pass()
.Fail()
.And
.HaveStdOutContaining("NETSDK1175");
}

[WindowsOnlyRequiresMSBuildVersionFact("17.0.0.32901")]
public void It_builds_windows_Forms_app_with_warning_suppressed()
public void It_builds_windows_Forms_app_with_error_suppressed()
{
var targetFramework = "net6.0-windows";
TestProject testProject = new TestProject()
{
Name = "WinformsBuildWarnSuppressPassTest",
Name = "WinformsBuildErrorSuppressPassTest",
TargetFrameworks = targetFramework,
IsWinExe = true
};
testProject.AdditionalProperties["UseWindowsForms"] = "true";
testProject.AdditionalProperties["PublishTrimmed"] = "true";
testProject.AdditionalProperties["NoWarn"] = "NETSDK1175";
testProject.AdditionalProperties["_SuppressWinFormsTrimError"] = "true";
var testAsset = _testAssetsManager.CreateTestProject(testProject);

var buildCommand = new BuildCommand(testAsset);
Expand All @@ -67,12 +67,12 @@ public void It_builds_windows_Forms_app_with_warning_suppressed()
}

[WindowsOnlyRequiresMSBuildVersionFact("17.0.0.32901")]
public void It_publishes_windows_Forms_app_with_warning()
public void It_publishes_windows_Forms_app_with_error()
{
var targetFramework = "net6.0-windows";
TestProject testProject = new TestProject()
{
Name = "WinformsWarnPresentPassTest",
Name = "WinformsErrorPresentFailTest",
TargetFrameworks = targetFramework,
IsWinExe = true
};
Expand All @@ -85,26 +85,26 @@ public void It_publishes_windows_Forms_app_with_warning()
var publishCommand = new PublishCommand(testAsset);
publishCommand.Execute()
.Should()
.Pass()
.Fail()
.And
.HaveStdOutContaining("NETSDK1175");
}

[WindowsOnlyRequiresMSBuildVersionFact("17.0.0.32901")]
public void It_publishes_windows_Forms_app_with_warning_suppressed()
public void It_publishes_windows_Forms_app_with_error_suppressed()
{
var targetFramework = "net6.0-windows";
TestProject testProject = new TestProject()
{
Name = "WinformsWarnSuppressedPassTest",
Name = "WinformsErrorSuppressedPassTest",
TargetFrameworks = targetFramework,
IsWinExe = true
};
testProject.AdditionalProperties["UseWindowsForms"] = "true";
testProject.AdditionalProperties["SelfContained"] = "true";
testProject.AdditionalProperties["RuntimeIdentifier"] = "win-x64";
testProject.AdditionalProperties["PublishTrimmed"] = "true";
testProject.AdditionalProperties["NoWarn"] = "NETSDK1175";
testProject.AdditionalProperties["_SuppressWinFormsTrimError"] = "true";
testProject.AdditionalProperties["SuppressTrimAnalysisWarnings"] = "false";
var testAsset = _testAssetsManager.CreateTestProject(testProject);

Expand All @@ -118,12 +118,12 @@ public void It_publishes_windows_Forms_app_with_warning_suppressed()
}

[WindowsOnlyRequiresMSBuildVersionFact("17.0.0.32901")]
public void It_builds_wpf_app_with_warning()
public void It_builds_wpf_app_with_error()
{
var targetFramework = "net6.0-windows";
TestProject testProject = new TestProject()
{
Name = "WpfWarnPresentPassTest",
Name = "WpfErrorPresentFailTest",
TargetFrameworks = targetFramework,
IsWinExe = true
};
Expand All @@ -134,24 +134,24 @@ public void It_builds_wpf_app_with_warning()
var buildCommand = new BuildCommand(testAsset);
buildCommand.Execute()
.Should()
.Pass()
.Fail()
.And
.HaveStdOutContaining("NETSDK1168");
}

[WindowsOnlyRequiresMSBuildVersionFact("17.0.0.32901")]
public void It_builds_wpf_app_with_warning_Suppressed()
public void It_builds_wpf_app_with_error_suppressed()
{
var targetFramework = "net6.0-windows";
TestProject testProject = new TestProject()
{
Name = "WpfWarnSuppressedPassTest",
Name = "WpfErrorSuppressedPassTest",
TargetFrameworks = targetFramework,
IsWinExe = true
};
testProject.AdditionalProperties["UseWPF"] = "true";
testProject.AdditionalProperties["PublishTrimmed"] = "true";
testProject.AdditionalProperties["NoWarn"] = "NETSDK1168";
testProject.AdditionalProperties["_SuppressWpfTrimError"] = "true";
var testAsset = _testAssetsManager.CreateTestProject(testProject);

var buildCommand = new BuildCommand(testAsset);
Expand All @@ -163,14 +163,13 @@ public void It_builds_wpf_app_with_warning_Suppressed()
.NotHaveStdOutContaining(Strings.@TrimmingWpfIsNotSupported);
}


[WindowsOnlyRequiresMSBuildVersionFact("17.0.0.32901")]
public void It_publishes_wpf_app_with_warning()
public void It_publishes_wpf_app_with_error()
{
var targetFramework = "net6.0-windows";
TestProject testProject = new TestProject()
{
Name = "WpfWarnPresentPassTest",
Name = "WpfErrorPresentPassTest",
TargetFrameworks = targetFramework,
IsWinExe = true
};
Expand All @@ -183,13 +182,13 @@ public void It_publishes_wpf_app_with_warning()
var publishCommand = new PublishCommand(testAsset);
publishCommand.Execute()
.Should()
.Pass()
.Fail()
.And
.HaveStdOutContaining("NETSDK1168");
}

[WindowsOnlyRequiresMSBuildVersionFact("17.0.0.32901")]
public void It_publishes_wpf_app_with_warning_Suppressed()
public void It_publishes_wpf_app_with_error_Suppressed()
{
var targetFramework = "net6.0-windows";
TestProject testProject = new TestProject()
Expand All @@ -201,7 +200,7 @@ public void It_publishes_wpf_app_with_warning_Suppressed()
testProject.AdditionalProperties["UseWPF"] = "true";
testProject.AdditionalProperties["SelfContained"] = "true";
testProject.AdditionalProperties["RuntimeIdentifier"] = "win-x64";
testProject.AdditionalProperties["NoWarn"] = "NETSDK1168";
testProject.AdditionalProperties["_SuppressWpfTrimError"] = "true";
testProject.AdditionalProperties["SuppressTrimAnalysisWarnings"] = "false";
testProject.AdditionalProperties["PublishTrimmed"] = "true";
var testAsset = _testAssetsManager.CreateTestProject(testProject);
Expand Down

0 comments on commit e73ed02

Please sign in to comment.