2012-03-25 17 views
0

"Moles"と "Visual Studio Express"というタグを検索したところ、何も見つかりませんでした。それはおそらく、私はモグラ:)エクスプレスでmoleをVisual Studio Expressで手動で使用する方法は?

とExpressを使用しようとしている唯一の人間だ意味し、そのような「組立モルを追加」、または「追加mscorlib」などのオプションはありません。

私は、DateTimeのY2Kbugが後に手動で通常VS.によって処理される参照のカップルを追加する作業のためのチュートリアルを得ることができましたつまり、これは、Systemまたはmscorlibで事前に荒廃したものを削除することができることを意味します。これは便利です。

私の問題は、私がSUTの自分のクラスやメソッドのどれかに似ているように見えないことです。私は、コンパイラがモルにアセンブリを含む.molesファイルのどれかを見ているとは思わない。

私は、Y2kbugチュートリアルから日時を除外しようとすることで、この証明使用して(?):

<MoleGeneration> 
    <Types> 
     <Remove FullName="DateTime!" /> 
    </Types> 
</MoleGeneration> 

をしかし、「バグ」はいつものように表明されました:)

は非生成することが可能です私はこのフォーラムで見た何か使って、それらを必要とモル会 - 私は「SetMole」メソッドを使用する場合は

Call Microsoft.Moles.Framework.Moles.MoleRuntime.SetMole(Delegate _stub, object _receiver, MethodInfo method); 

stackoverflow.com/questions/6272217/microsoft-moles-dynamically-instrumentを、とにかく見えない「アセンブリ」ファイルは必要ありませんか?もしそうなら、 "SetMole"の使用例をいくつか挙げることができます。 (私は技術屋ではないよ。)

マイク・キリストによって示唆されるように、私はmoles.exe OrigValueP.dllを使用しました。これにより、MolesAssembliesサブフォルダのOrigValueP.Moles.dllが作成されました。

テストプロジェクトへの参照としてOrigValueP.Moles.dllを追加します。

オブジェクトブラウザのOrigValueP.Molesを表示します。 MOrigValue.AllInstancesが表示されます。それは大きな前進です。 MCは、私は示唆しているため、コマンドに関連する

public string TestString() { return "Original value"; } 

[削除された行、「moles.exe OrigValueP.Moles.dll」:

しかし、私は私の方法のいずれかのほくろ相当が表示されません「モルアセンブリをモルしようとする」]

だから、私は(私は自分自身に答えることをしようとしていきます)一つの質問があります。たTestStringにはMoled方法は、()はなぜありませんでしたか?

答えて

0

Molesのドキュメントでは、MolesはVisual Studio 2008 ProfessionalまたはVisual Studio 2010 Professional以上と互換性があります。 3(ターゲットアセンブリに対して) 2.ほくろを 1.ターゲットアセンブリ:

http://research.microsoft.com/en-us/projects/pex/molestutorial.docxは、コマンドライン経由モルコンパイラを実行すると、次の順序でコンパイルを実行する必要があることを忘れないでください。

http://research.microsoft.com/en-us/projects/pex/molesmanual.docx

コード生成コマンドラインモルのフレームワークは、以下によってコードを生成することができるコマンドラインアプリケーションを含む:試験アセンブリ

モルのマニュアルは、次のコマンドライン命令を提供します.molesファイルの 命令、またはアセンブリから直接命令。既定では、 コマンドラインツールは、 アセンブリにスタブの種類とモルの種類をコンパイルし、MolesAssembliesサブフォルダに配置します。次の リストには、一般的な使用例が示されています。

moles.exe assembly.dllモル種類とスタブタイプ既存の.molesから ファイルmoles.exe assembly.moles モル種類とスタブの生成を生成し、特定の 組立のためのモル種類とスタブの種類を生成します特定の名前空間の下種類moles.exe アセンブリの.dll/NF:MYNAMESPACEは moles.exe moles.exeヘルプの使用方法に関する詳細なヘルプを表示します

+0

詳細な回答ありがとうございます。私は今、すべての提案を開始します。 Expressユーザーは多くの制限を "手動で"回避する方法を見つけたので、手動でMolesを動作させることも可能かどうかは疑問でした。 "System"と "mscorlib"のクラスとメソッド(これは非常に便利です)で動作することを覚えておいてください。私はそれをユーザーが書いたコードで動作させることができますか? – OldGrantonian

0

[この全体の答えは、元の質問に追加されています。すべての混乱のために申し訳ありません。]

+0

オリジナルの質問にこの内容を追加することをお勧めします。 –

+0

私はTestStringが文字列型を返すパラメータであると仮定します。あなたが投稿した出力は、あなたが臼歯組立を試みていることを示すように見えます。通常、モルアセンブリは.DLLファイル名の最後に ".Moles"を付加します。私はこれらの両方に ".Moles"があるのを見る。プロジェクトで ".moles"ファイルを作成する目的は、Molesアセンブリをコンパイルするようにコンパイラに指示することです。これらのファイルは、自動コンパイルの結果である可能性があります。 –

関連する問題