2012-03-02 3 views
0

私は、主にVB.NETプロジェクト(Wiforms、Constrols、ビジネスクラス)から構成されたWinformsソリューションを用意しています。ソリューションでC#とVB.NETを組み合わせる

どのようにWPFプロジェクトに追加しましたが、C#で記述しました。

実際、WPF C#プロジェクトで変更するたびに、私はC#WPFプロジェクトをビルド(再構築)する必要があります。

他の(VB.NET)プロジェクトと同じように動作するようにするオプションがありますか(C#プロジェクトを再構築せずに変更を受け入れて参照してください)?

例:

私は「M.VB」プロジェクトでプロジェクト「R.VB」を参照すると、私はメソッドを追加「R.VB」の「DoTest」と「でそのメソッドを使用しますM.VB "コンパイルエラーなし。

"DoTest"をC#WPFコントロールに追加して "M.VB"プロジェクトで使用しようとすると、コンパイルエラーが発生します。 "DoTest"は "R.C#Class"のメンバーではありません。プロジェクトBが再構築されるまで、私のVS

enter image description here

+1

すべてがC#で書かれていても、再構築する必要があります。あなたの質問は意味をなさない。 –

+1

@Ramhound「すべてがC言語で書かれていれば再構築する必要があります」と私は同意しますが、VB.NETでは再構築する必要はありません。 – serhio

答えて

0

場合は、プロジェクトA参照プロジェクトBで

C#のオプションは、AはBの変化を見ることができません。あなたが参照されたプロジェクトを再コンパイルする前に、自動補完や他のいくつかのトリックをしたい場合は

しかし、あなたは、ソースコードの代わりに、このようなReSharperとしてコンパイルし、出力、見拡張子を使用することができます。

+0

私はC#プロジェクトだけど、VB.NETのものはいつでも再コンパイルする必要があることを知っています。私はDLLプロジェクトではなくプロジェクトを参照しています... – serhio

+0

VB.NETプロジェクトの参照は、 C#dev。 C#プロジェクトを参照すると、実際には選択した構成(デバッグ/リリース/ etc)のコンパイル済みdllを参照しています。 – jrummell

+0

まさに、jrummel、あなたはC#プロジェクトについて話していますが、私はVBについてのVB(マスタ)の両方でC#(スレーブ)について言います。C#のような振る舞いはしません。私の更新(例)を参照してください... – serhio

0

いいえ - あなたが再コンパイルする必要があるコードを変更した場合、少なくとも私はそれがあなたが求めているものだと思います。

+0

プロジェクト "M.VB"でプロジェクト "R.VB"を参照すると、 "R.VB"に "DoTest"メソッドを追加し、そのメソッドを "M.VB "コンパイルエラーなし。 "DoTest"をC#WPFコントロールに追加して "M.VB"プロジェクトで使用しようとすると、 "DoTest"が "R.C#Class"のメンバーではないコンパイルエラーが発生します。 – serhio

1

いいえ、C#はバックグラウンド編集をサポートしていません。

+0

ああ...それは残念だ – serhio

+0

Visual Studio 2008 SP1以降、C#はバックグラウンドコンパイルをサポートしています。しかし、[スイッチがオンになっていることを確認してください](http://social.msdn.microsoft.com/Forums/en-US/vstsrosario/thread/9c4cd091-3583-4166-ba4b-01d70aff1791/) – MarkJ

+1

C#のバックグラウンド編集は、 VB.netのもの。 C#は構文をチェックしますが、アセンブリ外で変更を表示しません。 – Chriseyre2000

0

あなたはproject Roslyn

詳細を見てみることができますダイナミックビルドが必要な場合here

「開発者はより簡単に、自分のコードをリファクタリングのようなタスクを実行、または再編成するためにそのようなソフトウェアの出力を使用することができますC#とVisual Basicの機能を他の言語で書かれたプログラムに追加したり、静的型付けされたC#とVisual Basicに動的な型付けを追加して、開発者がオブジェクトや新しい変数をプログラムに追加できるようにします。

0

VB.NETプロジェクトとC#/ WPFの両方が同じソリューションにありますか?あなたがそうした場合、自動的に再構築する必要があります。アセンブリ参照を使用する場合は、手作業で行う必要があります。私が知る限り、VB6スタイルで再ビルドせずにコードを変更することは、.NETではサポートされていません...

+0

プロジェクト "M.VB"でプロジェクト "R.VB"を参照すると、 "R.VB"に "DoTest"メソッドを追加し、そのメソッドを "M.VB"エラーをコンパイルします。 C#WPFコントロールで "DoTest"を追加し、 "M.VB"プロジェクトでそれを使用しようとすると、コンパイルエラーが発生します。 "DoTest"は "R.C#Class"のメンバーではありません。 – serhio

関連する問題