Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit7aa3dc8

Browse files
authored
Merge pull request#208 from sfoslund/FixSpecifiedVersionBug
Ignore bundles with invalid version strings
2 parents126cb23 +bba800e commit7aa3dc8

File tree

2 files changed

+37
-19
lines changed

2 files changed

+37
-19
lines changed

‎src/dotnet-core-uninstall/Windows/RegistryQuery.cs

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ private static Bundle WrapRegistryKey(RegistryKey registryKey)
100100
returnBundle.From(version,arch,uninstallCommand,displayName);
101101
}
102102

103-
privatestaticBundleVersionGetBundleVersion(stringdisplayName,stringuninstallString,stringbundleCachePath)
103+
publicstaticBundleVersionGetBundleVersion(stringdisplayName,stringuninstallString,stringbundleCachePath)
104104
{
105105
varversionString=Regexes.VersionDisplayNameRegex.Match(displayName)?.Value??string.Empty;
106106
varcachePathMatch=Regexes.BundleCachePathRegex.Match(bundleCachePath);
@@ -109,27 +109,35 @@ private static BundleVersion GetBundleVersion(string displayName, string uninsta
109109
string.Format(LocalizableStrings.HostingBundleFootnoteFormat,displayName,versionString):
110110
null;
111111

112-
// Classify the bundle type
113-
if(displayName.IndexOf("Windows Server",StringComparison.OrdinalIgnoreCase)>=0)
112+
try
114113
{
115-
returnnewHostingBundleVersion(versionString,footnote);
114+
// Classify the bundle type
115+
if(displayName.IndexOf("Windows Server",StringComparison.OrdinalIgnoreCase)>=0)
116+
{
117+
returnnewHostingBundleVersion(versionString,footnote);
118+
}
119+
elseif(displayName.IndexOf("ASP.NET",StringComparison.OrdinalIgnoreCase)>=0)
120+
{
121+
returnnewAspNetRuntimeVersion(versionString);
122+
}
123+
elseif((displayName.IndexOf(".NET Core SDK",StringComparison.OrdinalIgnoreCase)>=0)||
124+
(displayName.IndexOf("Microsoft .NET SDK",StringComparison.OrdinalIgnoreCase)>=0)||
125+
uninstallString.IndexOf("dotnet-dev-win")>=0)
126+
{
127+
returnnewSdkVersion(versionString);
128+
}
129+
elseif(displayName.IndexOf(".NET Core Runtime",StringComparison.OrdinalIgnoreCase)>=0||Regex.IsMatch(displayName,@".*\.NET Core.*Runtime")||
130+
displayName.IndexOf(".NET Runtime",StringComparison.OrdinalIgnoreCase)>=0)
131+
{
132+
returnnewRuntimeVersion(versionString);
133+
}
134+
else
135+
{
136+
returnnull;
137+
}
116138
}
117-
elseif(displayName.IndexOf("ASP.NET",StringComparison.OrdinalIgnoreCase)>=0)
139+
catch
118140
{
119-
returnnewAspNetRuntimeVersion(versionString);
120-
}
121-
elseif((displayName.IndexOf(".NET Core SDK",StringComparison.OrdinalIgnoreCase)>=0)||
122-
(displayName.IndexOf("Microsoft .NET SDK",StringComparison.OrdinalIgnoreCase)>=0)||
123-
uninstallString.IndexOf("dotnet-dev-win")>=0)
124-
{
125-
returnnewSdkVersion(versionString);
126-
}
127-
elseif(displayName.IndexOf(".NET Core Runtime",StringComparison.OrdinalIgnoreCase)>=0||Regex.IsMatch(displayName,@".*\.NET Core.*Runtime")||
128-
displayName.IndexOf(".NET Runtime",StringComparison.OrdinalIgnoreCase)>=0)
129-
{
130-
returnnewRuntimeVersion(versionString);
131-
}
132-
else{
133141
returnnull;
134142
}
135143
}

‎test/dotnet-core-uninstall.Tests/Windows/RegistryQueryTests.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,5 +51,15 @@ internal void TestIsNetCoreBundleAccept(string input)
5151
.Should()
5252
.BeTrue();
5353
}
54+
55+
[WindowsOnlyTheory]
56+
[InlineData("Microsoft ASP.NET Web Frameworks and Tools VS2015")]
57+
[InlineData("Microsoft .NET Core SDK - rc1 (x86)")]
58+
internalvoidTestGetBundleVersionReturnsNullOnInvalidDisplayNames(stringdisplayName)
59+
{
60+
RegistryQuery.GetBundleVersion(displayName,string.Empty,string.Empty)
61+
.Should()
62+
.BeNull();
63+
}
5464
}
5565
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp