[ 
https://issues.apache.org/jira/browse/LOG4NET-174?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12873554#action_12873554
 ] 

Patrick Earl commented on LOG4NET-174:
--------------------------------------

This is of greater concern now with VS2010.  While VS2008 used to just issue 
warnings about the assemblies, VS2010 considers the problem to be an error and 
won't even compile, even when targetting the same framework version as before.

As well, as far as I understand, Microsoft will only be releasing the .NET 4 
Client Profile (rather than the full framework) through automatic Windows 
updates.  This means that people wishing to deploy to a wide audience without 
probitively large downloads would have difficulty utilizing log4net, and 
important packages that depend on it, such as NHibernate.

All I can see that would need to be done is move the Asp* files to a second 
assembly, such as suggested above, and provide a mechanism to have the server 
pattern converters register themselves as is done in these lines:

s_globalRulesRegistry.Add("aspnet-cache", typeof(AspNetCachePatternConverter));
s_globalRulesRegistry.Add("aspnet-context", 
typeof(AspNetContextPatternConverter));
s_globalRulesRegistry.Add("aspnet-request", 
typeof(AspNetRequestPatternConverter));
s_globalRulesRegistry.Add("aspnet-session", 
typeof(AspNetSessionPatternConverter));

It would be a breaking change for the next release, since people would need to 
reference the second assembly and potentially have a different line of 
initialization code when web classes are needed.

Microsoft has shown that the client profile is very much a first class citizen 
at this point (even automatically targetting new projects towards it), and it 
should be supported as such by log4net.

> log4net.dll references assemblies that are not part of the .NET 3.5 SP1 
> client profile
> --------------------------------------------------------------------------------------
>
>                 Key: LOG4NET-174
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-174
>             Project: Log4net
>          Issue Type: Bug
>          Components: Builds
>    Affects Versions: 1.2.10
>         Environment: .Net 3.5 SP1
>            Reporter: Kuno Meyer
>
> .Net 3.5 SP1 / VS 2008 SP1 has a new build feature: the "client-only 
> framework subset" switch in the projects settings, meaning that the developer 
> can specify that only a limited subset of the .Net framework is used. This 
> helps in reducing the size of installers that include the .Net framework.
> Unfortunately, log4net.dll (1.2.10) has references to System.Web, which is 
> not part of this "client-only framework subset". This leads to the following 
> compilation warning:
> <<<
> C:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets : warning 
> MSB3253: The referenced assembly "log4net, Version=1.2.10.0, Culture=neutral, 
> PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL" has a dependency 
> on "System.Web, Version=2.0.0.0, Culture=neutral, 
> PublicKeyToken=b03f5f7f11d50a3a" which is not listed as part of the "Client" 
> TargetFrameworkSubset. If this dependent reference is required, you may get 
> compilation errors.
> >>>
> My proposal is to split log4net.dll into a new log4net.dll (core+generic 
> appenders) and into a separate appender DLL (log4net.server.dll) for 
> deployment on servers only.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to