cremor commented on pull request #59:
URL: https://github.com/apache/logging-log4net/pull/59#issuecomment-684517717


   @fluffynuts I've just updated a few of my projects to log4net 2.0.9. First 
of all, thanks for your work! But I have to report a few problems and oddities:
   
   
   **Breaking change**
   One project that compiled fine before doesn't compile any more now. So there 
is a breaking change in 2.0.9. It's a netcoreapp3.1 project, so it uses the new 
netstandard2.0 assembly of log4net now (and previously used the netstandard1.3 
assembly). The error is `'DebugAppender' does not contain a definition for 
'ImmediateFlush'`.
   Seems like this is caused by your addition here
   
https://github.com/apache/logging-log4net/blob/8178e512a4e2aba62ac2e2edd02ee8e650758368/src/log4net/Appender/DebugAppender.cs#L79
   which is triggered because the netstandard2.0 target also defines that 
constant here
   
https://github.com/apache/logging-log4net/blob/8178e512a4e2aba62ac2e2edd02ee8e650758368/src/log4net/log4net.csproj#L57-L58
   I can see that `ImmediateFlush` would have had no effect in previous 
versions (because the if statement in the `Append` method had the target 
framework condition), but with netstandard2.0 this should be possible.
   
   So at least the netstandard2.0 assembly should contain that property (and 
maybe other properties that received a similar change in 2.0.9?). I assume this 
should be fixed by removing the `NETSTANDARD1_3` constant from the 
netstandard2.0 target.
   To prevent breaking changes the netstandard1.3 assembly should still contain 
it too. Or, if breaking changes are ok, it could be left removed there.
   
   
   **Dependencies**
   The nuspec file in the version 2.0.9 NuGet package contains a long list of 
dependent packages for the `.NETStandard2.0` target group. I'm not 100% sure 
about this, but this shouldn't be needed, right? Because .NET Standard 2.0 
referes to the whole API anyway (unlike 1.x versions did).
   
   I think this dependency list is the reason why my netcoreapp3.1 project 
still needs the `<NoWarn>$(NoWarn);NU1605</NoWarn>` workaround to prevent 
errors like `Detected package downgrade: System.Net.NameResolution from 4.3.0 
to 4.0.0. Reference the package directly from the project to select a different 
version.` during publish of the project, although this workaround should not be 
needed any more with a netstandard2.0 target of log4net (see ).
   
   
   
   **Assembly attributes**
   The netstandard2.0 assembly uses "Apache log4net for .NET Core 1.0" as 
`AssemblyTitleAttribte` and "2.0.9.0-.NET Core 1.0" as 
`AssemblyInformationalVersionAttribute`.
   
   
   PS: Sorry if this is not the right place to report issues, but I couldn't 
find a better one. It seems like the log4net Jira is not used any more and 
issues are not enabled in this GitHub project.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to