On 28 Jan 2018 11:43 a.m., "Stefan Bodewig" <[email protected]> wrote:
On 2018-01-21, Dominik Psenner wrote: > On 21 Jan 2018 11:28 a.m., "Stefan Bodewig" <[email protected]> wrote: >> Maybe, yes. See the other thread for my investigation so far. The >> github issue I've linked and the source code for the Unix >> implementation of FileStream state that FileShare.None is the only >> thing that works on Unix at all, all other options get translated to >> "share freely" internally. Unfortunately I haven't seen this >> documented for .NET Standard in any place so far. > So we could do FileShare.None when we detect that we run on > linux. What do you think? If that works as expected then you'd be unable to "tail" a logfile. This is most likely not what people want. TBH I don't know whether there is a way to make locking work "properly" for .NET Core on Linux at all. I would be surprised if file locking was forgot in the netstandard-1.3 api. I stumbled upon this https://github.com/dotnet/corefx/issues/5964 but have no possibility to do cross platform testing in this moment. This is on my task list now. For the 2.0.9 release I am inclined to live with the problem and cut the release the same way 2.0.8 has been created. The situation is not worse than it has been before and we do have some important fixes in the develop branch. There are indeed important things queued that need to get out. So far the issue is not a blocker but to me it is something that needs to be fixed or left out from the api. I would like to avoid in the future situations where the api and documentation indicate a usecase that is broken for good. But maybe the codebase grew for too long and needs a good bunch of refactor with all the different targets. #if are no longer an option to me. Should we duplicate the codebase for the different targets that differ the most? Has the time come for a log4net.standard and log4net.mono?
