FlyCapture2のFlyCapture2_v140.dllを単体テストから呼ぶとクラッシュ

##問題
FlyCapture2のFlyCapture2Ⅾd_v140.dllを単体テストから呼ぶとクラッシュしてしまう。

現在WPF+C#デスクトップアプリからFlyCaptureSDKを用いてカメラから画像取得しております。

サンプルに従いアプリでは参照に```FlyCapture2GUI_Managedd_v140.dll```を追加し、
実行ファイルのパスに```FlyCapture2d_v140.dll```をコピーするようにしました。

この状態でこれらを使うクラスを単体テストから呼び出すと```FlyCapture2d_v140.dll```を読み込んだ時点でtesthost.exeが黙って落ちました。


##対処法

参照dllを```FlyCapture2GUI_Managed_v140.dll```
コピーするdllを```FlyCapture2_v140.dll```
に変更します。
(分かりにくいですが_v140の前のdが無い方です。)

##経緯
問題の起きた時、Windowsのイベントビューワに残るログは以下のものでした。

```
障害が発生しているアプリケーション名: testhost.exe、バージョン: 15.0.0.0、タイム スタンプ: 0x92c7181e
障害が発生しているモジュール名: FlyCapture2d_v140.dll、バージョン: 2.13.3.61、タイム スタンプ: 0x5ca574f7
例外コード: 0x80000003
障害オフセット: 0x0000000001178210
障害が発生しているプロセス ID: 0x98
障害が発生しているアプリケーションの開始時刻: 0x01d556344949e967
障害が発生しているアプリケーション パス: C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\Extensions\TestPlatform\testhost.exe
障害が発生しているモジュール パス: C:\Program Files\Point Grey Research\FlyCapture2\bin64\vs2015\FlyCapture2d_v140.dll
レポート ID: b7cc00c9-8fd6-49e4-9aa3-4aa73ed9bb79
障害が発生しているパッケージの完全な名前:
障害が発生しているパッケージに関連するアプリケーション ID:・・・・

```

この```例外コード: 0x80000003```で調べてみると[こんな](https://protect2.fireeye.com/url?k=815552d4-dd411102-81574878-0cc47aa8d93e-5b7a80383056afc1&q=1&u=http%3A%2F%2Faccelart.jp%2Fblog%2FNTSTATUSErrMsgJa.html)ページが引っかかりました。
ここによればエラーコードの意味はSTATUS_BREAKPOINTだそうです。

サンプルコードのビルドイベントコマンドを眺めていると、どうやらDebungとReleaseでdllを呼び変えてました。

あ、Debug用じゃない方にすればBREAKPOINT引っかからないんじゃね？と思い呼び出すdllを変更しました。


```console:変更前
IF $(Platform)==x86 (
copy "$(ProjectDir)..\..\bin\vs2015\libiomp5md.dll" "$(TargetDir)"
IF $(ConfigurationName)==Debug (
copy "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\bin\vs2015\$(TargetName)d_v140$(TargetExt)"
copy "$(ProjectDir)..\..\bin\vs2015\FlyCapture2d_v140.dll" "$(TargetDir)"
) ELSE (
copy "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\bin\vs2015\$(TargetName)_v140$(TargetExt)"
copy "$(ProjectDir)..\..\bin\vs2015\FlyCapture2_v140.dll" "$(TargetDir)"
)
) ELSE IF $(Platform)==x64 (
copy "$(ProjectDir)..\..\bin64\vs2015\libiomp5md.dll" "$(TargetDir)"
IF $(ConfigurationName)==Debug (copy "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\bin64\vs2015\$(TargetName)d_v140$(TargetExt)"
copy "$(ProjectDir)..\..\bin64\vs2015\FlyCapture2d_v140.dll" "$(TargetDir)"
) ELSE (
copy "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\bin64\vs2015\$(TargetName)_v140$(TargetExt)"
copy "$(ProjectDir)..\..\bin64\vs2015\FlyCapture2_v140.dll" "$(TargetDir)"
)
)

```

```console:変更後
IF $(Platform)==x86 (
copy "$(ProjectDir)..\..\bin\vs2015\libiomp5md.dll" "$(TargetDir)"

copy "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\bin\vs2015\$(TargetName)_v140$(TargetExt)"
copy "$(ProjectDir)..\..\bin\vs2015\FlyCapture2_v140.dll" "$(TargetDir)"
) ELSE IF $(Platform)==x64 (
copy "$(ProjectDir)..\..\bin64\vs2015\libiomp5md.dll" "$(TargetDir)"

copy "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\bin64\vs2015\$(TargetName)_v140$(TargetExt)"
copy "$(ProjectDir)..\..\bin64\vs2015\FlyCapture2_v140.dll" "$(TargetDir)"
)

```

DebugだろうがReleaseだろうがRelease用dllを呼び出すように変更しました。
これによって何かDebug動作に支障が出るのかは不明ですが、今のところは問題なく使えております。


##単体テストのスレッド
MsTestで発生して色々調べていたら、TestではSTAとは違う動作になるとの事で、これは後付けカメラを使うとき中々に引っかかりそうだ！と思いました。

で、さらにXunit.StaFactでSTAっぽく動かせるという情報を見つけまして、試してみましたがこれもだめでした。

結果的に寄り道でしたが、単体テストがSTAでない事と、その動作が少し掴めました。