diff --git a/src/libraries/System.Configuration.ConfigurationManager/src/System.Configuration.ConfigurationManager.csproj b/src/libraries/System.Configuration.ConfigurationManager/src/System.Configuration.ConfigurationManager.csproj index 92cadbe1711a78..e810ea98379036 100644 --- a/src/libraries/System.Configuration.ConfigurationManager/src/System.Configuration.ConfigurationManager.csproj +++ b/src/libraries/System.Configuration.ConfigurationManager/src/System.Configuration.ConfigurationManager.csproj @@ -1,10 +1,12 @@ - + $(NetCoreAppCurrent);netstandard2.0;net461-windows false $(NoWarn);CA1847 true + true + 1 Provides types that support using configuration files. Commonly Used Types: diff --git a/src/libraries/System.Configuration.ConfigurationManager/src/System/Configuration/ClientConfigPaths.cs b/src/libraries/System.Configuration.ConfigurationManager/src/System/Configuration/ClientConfigPaths.cs index 5d25b97588597a..a2a818b7a5150b 100644 --- a/src/libraries/System.Configuration.ConfigurationManager/src/System/Configuration/ClientConfigPaths.cs +++ b/src/libraries/System.Configuration.ConfigurationManager/src/System/Configuration/ClientConfigPaths.cs @@ -64,17 +64,7 @@ private ClientConfigPaths(string exePath, bool includeUserConfig) if (exeAssembly != null && !isSingleFile) { HasEntryAssembly = true; - - // The original .NET Framework code tried to get the local path without using Uri. - // If we ever find a need to do this again be careful with the logic. "file:///" is - // used for local paths and "file://" for UNCs. Simply removing the prefix will make - // local paths relative on Unix (e.g. "file:///home" will become "home" instead of - // "/home"). - string configBasePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, exeAssembly.ManifestModule.Name); - Uri uri = new Uri(configBasePath); - - Debug.Assert(uri.IsFile); - ApplicationUri = uri.LocalPath; + ApplicationUri = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, exeAssembly.ManifestModule.Name); } else { @@ -258,7 +248,6 @@ private static string GetTypeAndHashSuffix(string exePath, bool isSingleFile) if (assembly != null && !isSingleFile) { AssemblyName assemblyName = assembly.GetName(); - Uri codeBase = new Uri(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, assembly.ManifestModule.Name)); try { @@ -271,7 +260,7 @@ private static string GetTypeAndHashSuffix(string exePath, bool isSingleFile) { typeName = StrongNameDesc; } - else + else if (Uri.TryCreate(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, assembly.ManifestModule.Name), UriKind.Absolute, out Uri codeBase)) { try {