2012-06-14 6 views
8

私はしばしばコードやその一部をデバッグ/テストする必要があります。アプリケーションを実行しないでC#コードをデバッグ

私が開発しているアプリケーションを実行するには、もちろん、小さなテストアプリケーションを作成するクラスライブラリを開発する場合もあります。

もう1つの方法は、デバッグ目的のためだけに単体テストを作成し、Visual Studioで実行することです。

しかし、使い捨てユニットテストのようなコードを追加したくない場合や、アプリケーション全体を開始したくない場合(開始するのに時間がかかり、デバッグしたいコードに移動するのに時間がかかります)?

Visual Stuioでコードの一部を実行する方法は、それぞれC#コードを解釈しますか?

EDIT

は、私は約LINQPadを知っています。

しかし、時には私は知りたいと思っています。実行中にFormがどのように見えるか、またはコンポーネントがデータベースと通信できるかどうかを示します。だから、LINQPadは私のニーズに合っていません。

+1

コードが他のコードに依存していると、これは難しいことがあります。本当に小さな独立した断片については、最初からコマンドラインプロジェクトを作成し、そこにコードをコピー&ペーストしてみましょう。 – Vlad

+0

Visual StudioでQuickWatchオプションを使用できます。同じコード内のいくつかの異なるステートメントをテストする場合は、ブレークポイントをその位置に置き、クイックウォッチウィンドウを開きます。文章の結果をクイックウォッチ・ウインドウに書いて見つけることができます。 –

+0

それは別のプロジェクトですか?またはプロジェクト全体の一部ですか? – crassr3cords

答えて

8

私はlinqpad http://www.linqpad.net/を使ってC#コードを素早くテストしています。

+0

私はそれを使用して、アプリケーションに入るまでに年を取った深刻な文字列操作を行っていました - それは素晴らしいことです! – MoonKnight

+1

無料版にはIntelliSenseは含まれていませんが、VSからコードをコピーする場合は、問題ありません。ただし、完全バージョンの場合は1ペニーの価値があります:)(提携していない、ただの幸せな顧客) – Jake1164

+0

linqpadを知って使用してください。しかし、あなたはできません。デバッグの目的で 'Windows.Form'を表示します... –

2

LINQPadをご覧ください。コードスニペットを試してみるのは大変です。名前をつけないでください。C#/ F#のプログラムと式をサポートしています。

3

最新のRoslyn community previewをダウンロードし、C# Interactive Windowとしてください。プレリリースソフトウェアであるため、C#の機能セット全体をサポートしていませんが、かなり近づいています。

2

クイックテストの別のオプションはScratchpad.csです。アイデアを試すだけのコマンドラインプロジェクトを作成するよりも優れていることがよくあります。

2

F# interpreterをご覧ください。

小さなコードサンプルをテストするのにregularyを使用します。

namespace ConsoleApplication5 
{ 
    public class Test 
    { 
     public Int32 Sum(int a, int b) 
     { 
      return a + b; 
     } 
    } 
    ... 
} 

火災アップF#インタラクティブウィンドウ、あなたのアセンブリにrefereceを追加し、デバッグを開始:

のは、あなたがこのようないくつかのコードを持っているとしましょう!

> #I @"C:\PathToYourProject\bin\debug";; 
--> Added .... to library include path 
> #r "ConsoleApplication5.exe";; 
--> Referenced ... 
> let t = ConsoleApplication5.Test();; 
val t : ConsoleApplication5.Test 
> t.Sum(9, 7);; 
val it : int = 16 
> 
+0

有望ですね.... –

+0

ハ、これはかなりうまくいきます!私は現在、デバッグ中の動的に作成された/入力されたフォームを使用して簡単なテストを行いました。 –

関連する問題