new PosExplorer() で TypeInitializationException

今後の仕事で使うかなーと思って POS for .NET をサンプルコードを見ながらコーディングしてたら PosExplorer のインスタンス生成で TypeInitializationException の例外が。

PosExplorer posExplorer = new PosExplorer();

えーここでー?使い方間違ってる?これだけだよねー?

InnerException を見てみると、

「このメソッドが明示的に使用する CAS ポリシーは、.NET Framework では使用されなくなっています。互換性のために CAS ポリシーを有効にするには、NetFx40_LegacySecurityPolicy 構成スイッチを使用してください。詳細については、http://go.microsoft.com/fwlink/?LinkID=155570 を参照してください。」

とのこと。ほほう。

.NET 4 から CAS は廃止されたようで、POS for .NET は CAS が有効になっていないとダメみたいです。
で、リンク先の記述のようにアプリケーション構成ファイルに次の設定を追加して無事解消。

<configuration>
   <runtime>
      <NetFx40_LegacySecurityPolicy enabled="true"/>
   </runtime>
</configuration>