私のソリューションの1つでVS2010 Premiumでコードカバレッジを取得できました。結果は出て、すべてうまくいった。これはしばらく前です。VS2010のコードカバレッジが機能しなくなりました - おそらくPEXをインストールした後
私はPoles & Molesをインストールし、これらのツールを少し使用して実験しました。つまり、チュートリアルなどを数多く完成しました。今、コードカバレッジの計算に同じテスト設定を使用しようとすると、次のメッセージが表示されます。 DLL 'Microsoft.VisualStudio.Coverage.Symbols.dll' をロードできません:
コードカバレッジ解析エンジンは、例外(複数可)を投げました。プロシージャが見つかりませんでした。
(HRESULTからの例外:0x8007007F)
( 'プロシージャは見つかりませんでしたが' ローカライズされたテキストの私の翻訳です)。
私は、VS2010が展開項目として不満を抱いているDLLファイルを含めることを試みましたが、テスト展開フォルダに表示されていることもわかりました。しかし、これは何も解決しませんでした。
コードカバレッジを計算しようとするプロジェクトに関係なく、これは一貫したエラーです。私はPEXをインストールする前に作業していたので、PEX/Molesが責任を負っていると思うし、コードカバレッジはもはやVS2010 IDEからは機能しません。もちろん、他にも理由があるかもしれませんが、他にも多くの拡張機能をインストールしていません。また、コードカバレッジと作業していない間の時間間隔は、PEXをインストールする私と多かれ少なかれ一致します。
これは、どこかのユーザー設定に関連していますか?私はIDEを再インストールしたときに気づいたことがありました。どこかで何かを削除する必要がありますか?
おそらく、私は自分のアセンブリをローカルに計測することを述べるべきです。チームサイトやTFSサーバーは関与していません。
- http://blogs.msdn.com/b/phuene/archive/2009/12/01/programmatic-coverage-analysis-in-visual-studio-2010.aspx
- http://social.msdn.microsoft.com/Forums/da-DK/vstsprofiler/thread/6ca514ab-5772-4d42-99f1-a87f7790f0f3
- http://social.msdn.microsoft.com/Forums/en-NZ/vstscode/thread/33779653-a1ce-4594-b152-32c7133e7402
上記の最後のリンクを:しかし、それらのどれもが直接私の問題に関連していないようだった私は、次のリンクを発見したソリューション、の検索
Microsoft.VisualStudio.Coverage.Symbols.dllファイルとMicrosoft.VisualStudio.Coverage.Analysis.dllファイルを同じ場所。どちらが私のマシン上で次の場所に配置されています
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies
私のマシンは、実際には64ビットマシンである、しかし、上記のファイルは、32ビットの場所に位置しています。これが原因だろうか?
は、この問題解決に任意の助けてくれてありがとう編集2012-02-16(全くPEXに関連していない可能性があります!):私は私のテストを実行することができるよと、私もやります関連する場所で生成されたdata.coverageファイルを取得します。ただし、データをダブルクリックすると発生します。カバレッジエクスプローラでファイルとVS2010(コードカバレッジ結果ウィンドウ)でそれを拡大しようと、私は、次のエラーメッセージが表示されます。
コードカバレッジ解析エンジンは、例外(複数可)を投げた:DLLの
画像ファイル「名私が楽器にしたいファイルは見つかりませんでしたか?
私のテスト結果のアウトフォルダーを見ると、上記のエラーメッセージに記載されているDLLが実際に存在することがわかります! .instrファイルもありますが、これは実際に行われた計測です。
私は現在、権利がないため、C:\ Windows \ system32のdbghelp.dllファイルを上書きできません。私はtestsettingsの配備項目としてMicrosoft Visual Studio 10.0 \ Common7 \ IDEの下にあるdbghelp.dllファイルも含めてみました。 dbghelp.dll(配備アイテムとして追加したMicrosoft.VisualStudio.Coverage.Symbols.dllも同様)は、両方ともTestresults outフォルダに存在します。しかし、私はまだ上記のエラーメッセージを取得します。
編集2012-02-17 は、私は、DLLの同僚のコンピュータ
- Microsoft.VisualStudio.Coverage.Symbols.dll
- dbghelp.dll
同じ場所に同じバージョンがあります。プロジェクトを私たちのソースリポジトリ(テスト設定を含む)から彼のマシンに抽出すると、彼はプロジェクトでテストを実行し、続いてVS2010でコードカバレッジを表示できました。だから、犯人はおそらくdll自体ではなく、むしろVisual Studio環境内で変わったものでしょうか?
編集2012-02-17 それは、私の同僚のマシンではなく、鉱山で、この作業の理由が原因GACに登録されたDLLのバージョンの不一致になることが示唆されました。私はGACの内容を抜き出し、Guiffyを使って差分を得るには、およそのリストで終わりました。 100 dllの不一致。これらのどれもバージョンではなく、どれもこの記事で言及されたdllに関係していません。 私の同僚は、64ビットバージョンのPEXをインストールしようとしましたが、1回の探索を完了し、その後テストプロジェクトのコードカバレッジを表示することができました。コードカバレッジでは、元のVS2010機能を参照し、コードカバレッジを表示するにはPEXの機能を参照しません。だから私はPEXのこの種のルールを推測するが、VS2010のコードカバレッジの結果を取り戻すのにまだ役に立たない。 :-(
編集2013年10月22日 私はVS2010インストールおよびRの#7.1.1000.900で新しいWindows 8マシンを割り当てられてきた。私はPEXをインストールしていないと私は同じエラーを取得します。これは、Testsettingsファイルのいくつかの厄介な設定に関連する可能性がありますか?私はResharperでユニットテストをdiabledしようとしましたが、同じエラーが発生しました...
rの前に出力フォルダにアセンブリをコピーしようとしましたか?テストを実施する。このようなシナリオでは、実際のプロジェクト参照ではありませんが、コードを再作成するときに追加されるシナリオでは、常にコピーのビルドアクションを使用してアセンブリを追加します。 –
上記のコードカバレッジ生成はPEX/Molesを使用しないことに言及していません。 VS2010 Premiumの基本機能を使用してVS2010にコードカバレッジを生成させることができません。私は自分のテストセットを構成しており、PEX/Molesをインストールする前にコードカバレッジが正しく生成されています。だから私はPEX/Molesを自分のコードの計装に使っていません。しかし、私はPEXのインストールがどうにかして正常なVS2010の動作を変更し、上記のエラーメッセージを引き起こしたと思われます。 – llykke
@Shaun Wilde:私はあなたの提案を試みましたが、投稿に記載されているのと同じエラーが表示されます。 – llykke