Index: src/Appender/AdoNetAppender.cs =================================================================== --- src/Appender/AdoNetAppender.cs (revision 701632) +++ src/Appender/AdoNetAppender.cs (working copy) @@ -182,7 +182,7 @@ set { m_appSettingsKey = value; } } -#if NET_2_0 +#if NET_2_0 || NET_3_5 /// /// The connectionStrings key from App.Config that contains the connection string. /// @@ -649,7 +649,7 @@ return m_connectionString; } -#if NET_2_0 +#if NET_2_0 || NET_3_5 if (!String.IsNullOrEmpty(m_connectionStringName)) { ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings[m_connectionStringName]; @@ -915,7 +915,7 @@ /// private string m_appSettingsKey; -#if NET_2_0 +#if NET_2_0 || NET_3_5 /// /// The connectionStrings key from App.Config that contains the connection string. /// Index: src/Appender/AppenderSkeleton.cs =================================================================== --- src/Appender/AppenderSkeleton.cs (revision 701632) +++ src/Appender/AppenderSkeleton.cs (working copy) @@ -321,7 +321,7 @@ { ErrorHandler.Error("Failed in DoAppend", ex); } -#if !MONO && !NET_2_0 +#if !MONO && !NET_2_0 && !NET_3_5 // on .NET 2.0 (and higher) and Mono (all profiles), // exceptions that do not derive from System.Exception will be // wrapped in a RuntimeWrappedException by the runtime, and as @@ -428,7 +428,7 @@ { ErrorHandler.Error("Failed in Bulk DoAppend", ex); } -#if !MONO && !NET_2_0 +#if !MONO && !NET_2_0 && !NET_3_5 // on .NET 2.0 (and higher) and Mono (all profiles), // exceptions that do not derive from System.Exception will be // wrapped in a RuntimeWrappedException by the runtime, and as Index: src/Appender/EventLogAppender.cs =================================================================== --- src/Appender/EventLogAppender.cs (revision 701632) +++ src/Appender/EventLogAppender.cs (working copy) @@ -299,7 +299,7 @@ /// private static void CreateEventSource(string source, string logName, string machineName) { -#if NET_2_0 +#if NET_2_0 || NET_3_5 EventSourceCreationData eventSourceCreationData = new EventSourceCreationData(source, logName); eventSourceCreationData.MachineName = machineName; EventLog.CreateEventSource(eventSourceCreationData); Index: src/Appender/SmtpAppender.cs =================================================================== --- src/Appender/SmtpAppender.cs (revision 701632) +++ src/Appender/SmtpAppender.cs (working copy) @@ -24,7 +24,7 @@ using System; using System.IO; -#if NET_2_0 +#if NET_2_0 || NET_3_5 using System.Net.Mail; #else using System.Web.Mail; @@ -323,7 +323,7 @@ set { m_mailPriority = value; } } -#if NET_2_0 +#if NET_2_0 || NET_3_5 /// /// Enable or disable use of SSL when sending e-mail message /// @@ -419,7 +419,7 @@ /// the body text to include in the mail virtual protected void SendEmail(string messageBody) { -#if NET_2_0 +#if NET_2_0 || NET_3_5 // .NET 2.0 has a new API for SMTP email System.Net.Mail // This API supports credentials and multiple hosts correctly. // The old API is deprecated. @@ -563,7 +563,7 @@ private MailPriority m_mailPriority = MailPriority.Normal; -#if NET_2_0 +#if NET_2_0 || NET_3_5 private bool m_enableSsl = false; private string m_replyTo; #endif Index: src/AssemblyInfo.cs =================================================================== --- src/AssemblyInfo.cs (revision 701632) +++ src/AssemblyInfo.cs (working copy) @@ -53,6 +53,8 @@ [assembly: AssemblyTitle("log4net for .NET Framework 1.1")] #elif (NET_2_0) [assembly: AssemblyTitle("log4net for .NET Framework 2.0")] +#elif (NET_3_5) +[assembly: AssemblyTitle("log4net for .NET Framework 3.5")] #elif (NETCF_1_0) [assembly: AssemblyTitle("log4net for .NET Compact Framework 1.0")] #elif (NETCF_2_0) Index: src/Config/XmlConfigurator.cs =================================================================== --- src/Config/XmlConfigurator.cs (revision 701632) +++ src/Config/XmlConfigurator.cs (working copy) @@ -169,7 +169,7 @@ try { XmlElement configElement = null; -#if NET_2_0 +#if NET_2_0 || NET_3_5 configElement = System.Configuration.ConfigurationManager.GetSection("log4net") as XmlElement; #else configElement = System.Configuration.ConfigurationSettings.GetConfig("log4net") as XmlElement; @@ -725,7 +725,7 @@ #if (NETCF) // Create a text reader for the file stream XmlTextReader xmlReader = new XmlTextReader(configStream); -#elif NET_2_0 +#elif NET_2_0 || NET_3_5 // Allow the DTD to specify entity includes XmlReaderSettings settings = new XmlReaderSettings(); settings.ProhibitDtd = false; Index: src/Layout/XMLLayout.cs =================================================================== --- src/Layout/XMLLayout.cs (revision 701632) +++ src/Layout/XMLLayout.cs (working copy) @@ -220,7 +220,7 @@ writer.WriteStartElement(m_elmEvent); writer.WriteAttributeString(ATTR_LOGGER, loggingEvent.LoggerName); -#if NET_2_0 || NETCF_2_0 || MONO_2_0 +#if NET_2_0 || NET_3_5 || NETCF_2_0 || MONO_2_0 writer.WriteAttributeString(ATTR_TIMESTAMP, XmlConvert.ToString(loggingEvent.TimeStamp, XmlDateTimeSerializationMode.Local)); #else writer.WriteAttributeString(ATTR_TIMESTAMP, XmlConvert.ToString(loggingEvent.TimeStamp)); Index: src/log4net.csproj =================================================================== --- src/log4net.csproj (revision 0) +++ src/log4net.csproj (revision 0) @@ -0,0 +1,733 @@ + + + Local + 9.0.30729 + 2.0 + {F6A02431-167E-4347-BC43-65532C31CDB7} + Debug + AnyCPU + + + + + log4net + log4net.snk + JScript + Grid + IE50 + false + Library + log4net + + + + + 0.0 + + + v3.5 + true + + + ..\build\bin\net\1.0\debug\ + false + 285212672 + false + + + TRACE;DEBUG;NET;NET_3_5 + + + true + 4096 + false + false + false + false + 4 + full + prompt + + + ..\build\bin\net\1.0\release\ + false + 285212672 + false + + + TRACE;STRONG;NET;NET_3_5 + + + false + 4096 + true + false + false + false + 4 + none + prompt + + + + System + + + + 3.5 + + + System.Data + + + System.Web + + + System.XML + + + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + + + + + + + + + + + \ No newline at end of file Index: src/log4net.sln =================================================================== --- src/log4net.sln (revision 0) +++ src/log4net.sln (revision 0) @@ -0,0 +1,23 @@ +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "log4net", "log4net.csproj", "{F6A02431-167E-4347-BC43-65532C31CDB7}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "log4net.Tests", "..\tests\src\log4net.Tests.csproj", "{4B68B77E-0C8B-4296-930D-6AC2787170B8}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F6A02431-167E-4347-BC43-65532C31CDB7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Release|Any CPU.Build.0 = Release|Any CPU + {4B68B77E-0C8B-4296-930D-6AC2787170B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4B68B77E-0C8B-4296-930D-6AC2787170B8}.Release|Any CPU.ActiveCfg = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal Index: src/Util/PatternStringConverters/EnvironmentPatternConverter.cs =================================================================== --- src/Util/PatternStringConverters/EnvironmentPatternConverter.cs (revision 701632) +++ src/Util/PatternStringConverters/EnvironmentPatternConverter.cs (working copy) @@ -65,7 +65,7 @@ // Lookup the environment variable string envValue = Environment.GetEnvironmentVariable(this.Option); -#if NET_2_0 +#if NET_2_0 || NET_3_5 // If we didn't see it for the process, try a user level variable. if (envValue == null) { Index: src/Util/SystemInfo.cs =================================================================== --- src/Util/SystemInfo.cs (revision 701632) +++ src/Util/SystemInfo.cs (working copy) @@ -225,7 +225,7 @@ { #if NETCF_1_0 return System.Threading.Thread.CurrentThread.GetHashCode(); -#elif NET_2_0 || NETCF_2_0 || MONO_2_0 +#elif NET_2_0 || NET_3_5 || NETCF_2_0 || MONO_2_0 return System.Threading.Thread.CurrentThread.ManagedThreadId; #else return AppDomain.GetCurrentThreadId(); @@ -851,7 +851,7 @@ { #if NETCF // Configuration APIs are not suported under the Compact Framework -#elif NET_2_0 +#elif NET_2_0 || NET_3_5 return ConfigurationManager.AppSettings[key]; #else return ConfigurationSettings.AppSettings[key]; @@ -928,7 +928,7 @@ { #if NETCF_1_0 return new Hashtable(CaseInsensitiveHashCodeProvider.Default, CaseInsensitiveComparer.Default); -#elif NETCF_2_0 || NET_2_0 || MONO_2_0 +#elif NETCF_2_0 || NET_2_0 || NET_3_5 || MONO_2_0 return new Hashtable(StringComparer.OrdinalIgnoreCase); #else return System.Collections.Specialized.CollectionsUtil.CreateCaseInsensitiveHashtable(); Index: src/Util/TypeConverters/IPAddressConverter.cs =================================================================== --- src/Util/TypeConverters/IPAddressConverter.cs (revision 701632) +++ src/Util/TypeConverters/IPAddressConverter.cs (working copy) @@ -77,7 +77,7 @@ { try { -#if NET_2_0 || NETCF_2_0 +#if NET_2_0 || NET_3_5 || NETCF_2_0 #if !NETCF_2_0 // Try an explicit parse of string representation of an IPAddress (v4 or v6) Index: tests/src/Appender/RemotingAppenderTest.cs =================================================================== --- tests/src/Appender/RemotingAppenderTest.cs (revision 701632) +++ tests/src/Appender/RemotingAppenderTest.cs (working copy) @@ -207,7 +207,7 @@ // Setup remoting server try { -#if NET_2_0 || MONO_2_0 +#if NET_2_0 || NET_3_5 || MONO_2_0 ChannelServices.RegisterChannel(m_remotingChannel, false); #else ChannelServices.RegisterChannel(m_remotingChannel); Index: tests/src/Layout/XmlLayoutTest.cs =================================================================== --- tests/src/Layout/XmlLayoutTest.cs (revision 701632) +++ tests/src/Layout/XmlLayoutTest.cs (working copy) @@ -60,7 +60,7 @@ private static string CreateEventNode(string message) { return String.Format("{1}" + Environment.NewLine, -#if NET_2_0 || MONO_2_0 +#if NET_2_0 || NET_3_5 || MONO_2_0 XmlConvert.ToString(DateTime.Today, XmlDateTimeSerializationMode.Local), #else XmlConvert.ToString(DateTime.Today), @@ -71,7 +71,7 @@ private static string CreateEventNode(string key, string value) { return String.Format("Test message" + Environment.NewLine, -#if NET_2_0 || MONO_2_0 +#if NET_2_0 || NET_3_5 || MONO_2_0 XmlConvert.ToString(DateTime.Today, XmlDateTimeSerializationMode.Local), #else XmlConvert.ToString(DateTime.Today), @@ -282,4 +282,4 @@ Assert.AreEqual(expected, stringAppender.GetString()); } } -} \ No newline at end of file +} Index: tests/src/log4net.Tests.csproj =================================================================== --- tests/src/log4net.Tests.csproj (revision 0) +++ tests/src/log4net.Tests.csproj (revision 0) @@ -0,0 +1,170 @@ + + + Local + 9.0.30729 + 2.0 + {4B68B77E-0C8B-4296-930D-6AC2787170B8} + Debug + AnyCPU + + + + + log4net.Tests + + + JScript + Grid + IE50 + false + Library + log4net.Tests + + + + + 0.0 + + + v3.5 + + + ..\bin\Debug\ + false + 285212672 + false + + + TRACE;DEBUG;NET;NET_3_5 + + + true + 4096 + false + false + false + false + 4 + full + prompt + + + ..\bin\Release\ + false + 285212672 + false + + + TRACE + + + false + 4096 + true + false + false + false + 4 + none + prompt + + + + nunit.framework + ..\lib\net\1.0\nunit.framework.dll + + + System + + + 3.5 + + + System.Data + + + System.Runtime.Remoting + + + System.XML + + + log4net + {F6A02431-167E-4347-BC43-65532C31CDB7} + {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + + + + + AssemblyVersionInfo.cs + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + + + + + + + + \ No newline at end of file