title: Why does NLog.dll contain a JetBrains.Annotations namespace?
body: <p>I've been ported over some of my code to use NLog, which is great so far.  However, I ran into a compiler error on the following code:</p>
  
  <pre><code>[UsedImplicitly(ImplicitUseTargetFlags.Members)]
  private class SomeClass
  </code></pre>
  
  <p>The error is:</p>
  
  <blockquote>
    <p>Error 96  The type 'JetBrains.Annotations.UsedImplicitlyAttribute'
    exists in both
    'c:\Code\packages\Twia.ReSharper.1.1.0\lib\net40\JetBrains.Annotations.dll'
    and 'c:\Code\packages\NLog.3.0.0.0\lib\net45\NLog.dll'</p>
  </blockquote>
  
  <p>Sure enough, NLog.dll contains a JetBrains.Annotations.UsedImplicitlyAttribute class:</p>
  
  <p><img src="https://i.stack.imgur.com/VYZVQ.png" alt="enter image description here"></p>
  
  <p>I, of course, don't have control over the source code for either one of these.  Why in the world does NLog have its own <em>copy</em> of this class?  Did they ILMerge the JetBrains code into the assembly or something?  Is the implementation the same?  Am I safe to now <em>remove</em> the reference to <code>JetBrains.Annotations.dll</code> and have everything work the same?  Is there a work around to reference both assemblies without the compiler errors?  Thanks!</p>