- ///
- /// Primary purpose of this method is to allow us to parse and
- /// load configuration sections using the same API regardless
- /// of the .NET framework version.
- ///
- ///
- public object GetSection(string sectionName)
- {
-#if DOTNETCORE // No System.Configuration in DotNetCore, replace with something DotNetCore-specific?
- return null;
-#else
-#if PORTABLE
- // We should instead look for something implementing
- // IConfigurationReader in (platform specific) Common.Logging dll and use that
- const string configManager40 = "System.Configuration.ConfigurationManager, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a";
- var configurationManager = Type.GetType(configManager40);
- if(configurationManager == null)
- {
- // Silverlight, and maybe if System.Configuration is not loaded?
- return null;
- }
-#if !WinRT
- var getSection = configurationManager.GetMethod("GetSection", new[] { typeof(string) });
-#else
- var getSection = configurationManager.GetMethod("GetSection");
-#endif
- if (getSection == null)
- throw new PlatformNotSupportedException("Could not find System.Configuration.ConfigurationManager.GetSection method");
-
- return getSection.Invoke(null, new[] {sectionName});
-#else
- return System.Configuration.ConfigurationManager.GetSection(sectionName);
-#endif
-#endif
- }
- }
+#region License
+
+/*
+ * Copyright © 2002-2009 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#endregion
+
+using System;
+namespace Common.Logging.Configuration
+{
+ ///