Skip to content
This repository was archived by the owner on May 17, 2024. It is now read-only.

Commit 602fba4

Browse files
authored
Merge pull request #397 from KSchlobohm/kschlobohm/keep_winforms_imports
2 parents 18e1645 + 3353dcc commit 602fba4

39 files changed

+206
-1282
lines changed

src/MSBuild.Abstractions/ProjectItemHelpers.cs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,12 @@ public static bool IsSpecificPacakgeReference(ProjectItemElement element, string
2929
/// Checks if a given item needs to be removed because it either only runs on desktop .NET or is automatically pulled in as a reference and is thus unnecessary.
3030
/// </summary>
3131
public static bool DesktopReferencesNeedsRemoval(ProjectItemElement item) =>
32-
DesktopFacts.ReferencesThatNeedRemoval.Contains(item.Include, StringComparer.OrdinalIgnoreCase)
33-
|| DesktopFacts.KnownWPFReferences.Contains(item.Include, StringComparer.OrdinalIgnoreCase)
34-
|| DesktopFacts.KnownWinFormsReferences.Contains(item.Include, StringComparer.OrdinalIgnoreCase)
35-
|| DesktopFacts.KnownDesktopReferences.Contains(item.Include, StringComparer.OrdinalIgnoreCase);
32+
!(item.ElementName.Equals("import", StringComparison.OrdinalIgnoreCase)
33+
&& !string.IsNullOrWhiteSpace(item.Include))
34+
&& (DesktopFacts.ReferencesThatNeedRemoval.Contains(item.Include, StringComparer.OrdinalIgnoreCase)
35+
|| DesktopFacts.KnownWPFReferences.Contains(item.Include, StringComparer.OrdinalIgnoreCase)
36+
|| DesktopFacts.KnownWinFormsReferences.Contains(item.Include, StringComparer.OrdinalIgnoreCase)
37+
|| DesktopFacts.KnownDesktopReferences.Contains(item.Include, StringComparer.OrdinalIgnoreCase));
3638

3739
/// <summary>
3840
/// Checks if a given item is a desktop item that is globbed, so long as the metadata is a form type.
@@ -48,7 +50,8 @@ public static bool IsDesktopRemovableGlobbedItem(ProjectStyle style, ProjectItem
4850
/// Checks if a given item is a well-known reference that can be converted to PackageReference.
4951
/// </summary>
5052
public static bool IsReferenceConvertibleToPackageReference(ProjectItemElement item) =>
51-
MSBuildFacts.DefaultItemsThatHavePackageEquivalents.ContainsKey(item.Include);
53+
!item.ElementName.Equals("import", StringComparison.OrdinalIgnoreCase) && !string.IsNullOrWhiteSpace(item.Include)
54+
&& MSBuildFacts.DefaultItemsThatHavePackageEquivalents.ContainsKey(item.Include);
5255

5356
/// <summary>
5457
/// Checks if a reference is coming from an old-stlye NuGet package.

src/MSBuild.Conversion.SDK/TargetFrameworkHelper.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
using System.Text.Json;
66
using System.Text.RegularExpressions;
77

8-
using Microsoft.Build.Locator;
98
using MSBuild.Conversion.Facts;
109
using NuGet.Versioning;
1110

@@ -16,13 +15,18 @@ public static class TargetFrameworkHelper
1615
/// <summary>
1716
/// Determine the TFM to use based on what is installed on the users machine
1817
/// </summary>
19-
public static string FindHighestInstalledTargetFramework(bool usePreviewSDK)
18+
public static string FindHighestInstalledTargetFramework(bool usePreviewSDK, string msbuildPath)
2019
{
2120
// Finds SDK path
2221
string? sdkPath = null;
2322
try
2423
{
25-
sdkPath = Path.GetFullPath(Path.Combine(MSBuildLocator.QueryVisualStudioInstances().Single().VisualStudioRootPath, "..", ".."));
24+
if (string.IsNullOrWhiteSpace(msbuildPath))
25+
{
26+
throw new InvalidOperationException("msbuildPath is rquired");
27+
}
28+
29+
sdkPath = Path.GetFullPath(Path.Combine(msbuildPath, "..", ".."));
2630
}
2731
catch (Exception)
2832
{

src/try-convert/Program.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public static int Run(string? project, string? workspace, string? msbuildPath, s
7979
}
8080
else
8181
{
82-
tfm = TargetFrameworkHelper.FindHighestInstalledTargetFramework(preview);
82+
tfm = TargetFrameworkHelper.FindHighestInstalledTargetFramework(preview, msbuildPath);
8383
}
8484

8585
var workspacePath = string.Empty;

tests/TestData/SmokeTests.MSTestVbNet5Baseline/My Project/Application.Designer.vb

Lines changed: 0 additions & 13 deletions
This file was deleted.

tests/TestData/SmokeTests.MSTestVbNet5Baseline/My Project/Application.myapp

Lines changed: 0 additions & 10 deletions
This file was deleted.

tests/TestData/SmokeTests.MSTestVbNet5Baseline/My Project/AssemblyInfo.vb

Lines changed: 0 additions & 18 deletions
This file was deleted.

tests/TestData/SmokeTests.MSTestVbNet5Baseline/My Project/Resources.Designer.vb

Lines changed: 0 additions & 62 deletions
This file was deleted.

tests/TestData/SmokeTests.MSTestVbNet5Baseline/My Project/Resources.resx

Lines changed: 0 additions & 117 deletions
This file was deleted.

tests/TestData/SmokeTests.MSTestVbNet5Baseline/My Project/Settings.Designer.vb

Lines changed: 0 additions & 73 deletions
This file was deleted.

tests/TestData/SmokeTests.MSTestVbNet5Baseline/My Project/Settings.settings

Lines changed: 0 additions & 7 deletions
This file was deleted.

0 commit comments

Comments
 (0)