DirectXを使用するビジュアルWPFコントロールライブラリをテストするために、DirectXシーンを作成するいくつかの単体テストを作成しました。TeamcityビルドサーバーのユニットテストでD3DERR_NOTAVAILABLE
これは脆弱なユニットテスト手法(視覚的な比較)ですが、多数の可能な組み合わせをカバーするのに役立ちます。
SharpDX.SharpDXException : HRESULT: [0x8876086A], Module:
[SharpDX.Direct3D9], ApiCode: [D3DERR_NOTAVAILABLE/NotAvailable], Message: Unknown
at SharpDX.Result.CheckError()
at SharpDX.Direct3D9.D3D9.Create9Ex(Int32 sDKVersion, Direct3DEx arg1)
at SharpDX.Direct3D9.Direct3DEx..ctor()
しかし、私は、ビルド・サーバーにログインし、テストを実行する場合、彼らは渡す:私が持っている
問題は、テストはローカルでうまく実行されますが、エラーでビルドサーバー上の失敗であります!
ビルドサーバーは、Windows Server 2012 R2で、DirectX10のワープ(ソフトウェア)ドライバを持っている(下記参照)。
related to this issue hereチームビルドエージェントのユーザープロファイルでDirectXデバイスを取得できないと思われます。私はTeamcityサービスを変更しました。TeamCityはユーザーとしてログオンするエージェントを作成しますが、まだ運がありません。
アイデア?
サービスがデスクトップとやりとりする必要がありますか? – rene
それはそれのようなものです。それが可能かどうかわからない)b)可能であれば、どのように構成するか。 –
ooサービスでチェックボックスを見ただけです - > Teamcity Build Agent - >でログオンしてください!私はそれを試してみる... –