<p>The client profile has been around since .NET 3.5. With .NET 4 and VS2010, it has become far more important. Microsoft has decided that only the client profile will be distributed automatically through Windows Update. So if developers wish to provide applications that run out of the box on up to date systems, they need to use the client profile. As well, VS2010 uses the client profile as the default for a number of project types now. While VS2008 used to compile things with warnings, VS2010 now produces errors when linking against assemblies that aren't client profile-enabled. As such, NLog should support the client profile.</p>
<p> </p>
<p>I've been involved in moving many projects to the client profile and the most straightforward way has been to remove the reference to System.Web and add a bit of reflection/delegates to move the compile time dependency to runtime. Although I haven't fully analyzed the NLog code base, in the other systems I've dealt with, the actual number of types/properties/methods that aren't in the client profile has been small and they have been easy to eliminate with reflective techniques such as Delegate.CreateDelegate() on methods.</p>
<p> </p>
<p>I'd be happy to help out in this area. I was originally trying to get something to happen with log4net, but it seems like all the maintainers are gone. I'm definitely hoping we can make some progress on having a client profile-enabled logging framework with NLog.</p>
Comments:
<p> </p>
<p>I've been involved in moving many projects to the client profile and the most straightforward way has been to remove the reference to System.Web and add a bit of reflection/delegates to move the compile time dependency to runtime. Although I haven't fully analyzed the NLog code base, in the other systems I've dealt with, the actual number of types/properties/methods that aren't in the client profile has been small and they have been easy to eliminate with reflective techniques such as Delegate.CreateDelegate() on methods.</p>
<p> </p>
<p>I'd be happy to help out in this area. I was originally trying to get something to happen with log4net, but it seems like all the maintainers are gone. I'm definitely hoping we can make some progress on having a client profile-enabled logging framework with NLog.</p>
Comments:
Fixed