13

Peter Provost の記事で説明されているように、アプリケーション プロジェクト (テスト対象のシステム) に対応する Visual Studio 2012 単体テスト プロジェクトに Fakes アセンブリを追加しました。ただし、生成された Fakes コードに未解決の型参照があるため、プロジェクトはビルドされなくなります。

The type or namespace name 'FieldDefinition' does not exist in the namespace 'bc::ProductStudio' (are you missing an assembly reference?)
[C:\Users\arvek\Projects\Project\Project.Tests\obj\Debug\Fakes\bc\f.csproj]
C:\Users\arvek\Projects\Project\Project.Tests\f.cs

ここで何がうまくいかないのですか?私が知る限り、これは機能するはずなので、Fakes の機能にバグがあるように思えます。

4

5 に答える 5

9

このバグは VS2013 にも存在します。MSDN バグへのリンク。

回避策:FakeAssemblies フォルダーからファイル .messages を削除します。

于 2014-04-21T04:46:23.967 に答える
4

このエラーは、フェイク アセンブリによってトリガーされる Fakes のバグが原因である可能性が最も高いです。問題を Microsoft に提出しました。

于 2012-09-04T16:35:53.747 に答える
4

問題の診断に役立つオプションの 1 つは、偽物の診断をオンにすることです。あなたの .fakes ファイル。

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011" Diagnostic="true" Verbosity="Noisy">

また、「MSBuild プロジェクトのビルド出力の詳細度」が [診断] に設定されていることを確認してください。これは、[ツール] -> [オプション] -> [プロジェクトとソリューション] -> [ビルドと実行] で見つけることができます。

テスト プロジェクトを再ビルドすると、出力ウィンドウに Fakes の失敗を含む情報が表示されます。

于 2012-12-10T05:06:33.133 に答える
4

Fakesフォルダを削除すると、この問題が解決します。

于 2016-10-26T08:32:11.860 に答える
0

信じられないかもしれませんが、ファイルに新しい行を追加し、その新しい行を削除して、事実上変更されていないファイルを保存するだけで、偽物を再び機能させることができました。次のビルドの後、すべてがうまくいきました。

あなたを夢中にさせるもの...うーん...

于 2017-05-15T05:11:50.560 に答える