3

単体テストプロジェクト(VS 2010単体テスト)の1つでMicrosoft Moles Framework(x86)バージョン0.94.51023.0を使用しています。アプリケーションでデータアクセス層のメソッドをテストするために、System.Data.dllSqlConnectionのmolesアセンブリを追加して、 &SqlCommandオブジェクトをモックできるようにしました。モルアセンブリを追加して単体テストをビルドしたところ、ビルドが失敗し、以下のエラーの詳細が表示されました

error CS0234: The type or namespace name 'SqlCredential' does not exist in the namespace 'System.Data.SqlClient'

error CS0234: The type or namespace name 'ApplicationIntent' does not exist in the namespace 'System.Data.SqlClient'

ビルドの出力ウィンドウの終わりにこれが表示されました:

error MSB3073: The command ""C:\Program Files (x86)\Microsoft Moles\bin\moles.exe" @...\UnitTests\obj\Debug\Moles\moles.args" exited with code -1002.
4

2 に答える 2

1

この問題は、「C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0」にある「 System.Data dll 」を、 " C:\Windows\Microsoft.NET\Framework64\v4.0.30319 ". このバージョンの dll には SqlCredential 型が定義されているようで、System.Data dll を正常にモール化できます。

于 2013-03-08T05:18:14.703 に答える
0

この投稿に出くわしましたhttp://feherzsolt.wordpress.com/2013/02/13/moles-and-net-4-5/これは、システムの成形アセンブリの生成に失敗したMolesの問題を修正するための適切な解決策を持っているようです.* dll。.Net f/w 4.0 と 4.5 の両方が同じマシンにインストールされている場合、4.0 dll を使用するプロジェクトの場合、moles ファイルに ReflectionOnly="true" 属性を追加すると、ビルドの失敗の問題が解決します。

于 2013-12-02T12:48:14.757 に答える