title: TaskDialog from WinAPICodePack does not work on .NET 4.0
body: <p>I am writing an application and wanted to use the <code>TaskDialogIndirect</code> function - however I did not want to write a huge amount of P/Invoke stuff etc. so I have included the WinAPICodePack. There is one problem though! When I create a control for the <code>TaskDialog</code> and add it to the dialog everything works fine. However running the <code>Show</code> methods results in an <code>OverflowException</code> in mscorlib. I tracked this down to some pointer handling and marshalling.</p>
  
  <p>Experimenting with the code had the result, that I found out, that the DLL <strong>MUST</strong> be compiled for .NET 3.5 and the including app <strong>TOO</strong>. Having my app on .NET 4.0 invokes this error... any idea about a workaround - or can you even reproduce this error?</p>
  
  <p>Another issue is that I can set the the <code>Icon</code> property to whatevery I want, but the icon is not shown at all. I have to setup an <code>Opened</code> event which dynamically sets the icon...</p>
  
  <p>Information: Running Visual Studio 2012 RTM on Windows 8 Pro x64 RTM. Application is a standard WPF app.</p>
  
  <p>Sample code:</p>
  
  <pre><code>TaskDialog td = new TaskDialog();
  td.Cancelable = true;
  td.Caption = "Caption";
  td.InstructionText = "Instructions";
  td.Text = "Text";
  
  TaskDialogCommandLink buttonElevation =
      new TaskDialogCommandLink("elevation", "Elevation Required Sample");
  buttonElevation.UseElevationIcon = true;
  
  td.Controls.Add(buttonElevation);
  td.Show(); // OverflowException occurs here!
  </code></pre>