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>