Microsoft Expression Encoder を使用して Selenium テストの実行を記録しようとしています。現在直面している問題について多くの回答を見つけましたが、実際に解決したものはありません。そのため、ビデオ録画プロセスを開始するメソッドがあります。それは次のように簡単です
scj = new ScreenCaptureJob();
scj.OutputScreenCaptureFileName = logPath + "\\" + fileName + ".wmv";
scj.ScreenCaptureVideoProfile.FrameRate = 25;
scj.CaptureMouseCursor = true;
scj.Start();
Visual Studio 2015 から実行すると、問題なく動作します。しかし、ビルド エージェントの 1 つで TeamCity から実行すると、次のメッセージが表示されます。
OneTimeSetUp: System.BadImageFormatException: Could not load file or assembly
'Microsoft.Expression.Encoder, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
or one of its dependencies. An attempt was made to load a program with an incorrect format
さて、私がいくつかのフォーラムで読んだことは、これは私のアーキテクチャの選択に関連しています。TeamCity では、コードをコンパイルするビルド ステップで「任意の CPU」プラットフォームが選択されていますが、Visual Studio では「混合プラットフォーム」が選択されています。
TeamCity ですべてを x86 アーキテクチャに設定し、NUnit 3 を強制的に 32 ビット プロセスとして実行し、プロジェクトのターゲット アーキテクチャを変更しようとしました。これらの解決策はどれも機能していません。他に何ができるか考えている人はいますか?