2012-03-21 17 views
3

WCFを使用するバージョン3.5でコンパイルされたアセンブリをC#で作成しました。このライブラリは、バージョン2.0でコンパイルされた外部企業であるvb.netで書かれた別のアプリケーションで使用する必要があります。バージョン間の参照。 NET Framework

可能ですか?

+1

.dllを参照しようとしましたか? – IAbstract

+0

vb.netアプリケーションはどこで実行されますか? .NET 2.0システムまたは.NET 3.5システムでは? –

答えて

5

いいえ、それはできませんが、フレームワークの違いのためではありません。クライアントがWCFに必要なアセンブリを持たないため、不可能です。

実際、.NET 2.0と.NET 3.5は同じCLRを使用します。 .NET 3.5用のコードをコンパイルし、新しいアセンブリを使用しない場合は、そのコードを.NET 2.0アプリケーションで使用する必要があります。 .NET 3.5は.NET 2.0 SP2に加えていくつかの新しいアセンブリです。

実際、.NET 3.0は.NET 2.0 SP1に加えいくつかの新しいアセンブリです。 .NET 3.5には.NET 2.0 SP2と.NET 3.0 SP1とさらに新しいアセンブリが含まれています。 3つすべてが.NET 2.0 CLRを使用します。

.NET 4.0では新しいCLRが使用され、新しいリリースです。 .NET 4.0コードは.NET 2.0マシンでは実行できません。ただし、.NET 2.0と.NET 4.0 CLRを同時に実行できるようにする機能があります。

+0

私はこれを理解していません、あなたは.net 3.5 dllがホストされた.net 2.0プロセスで実行され、したがってWCFのものにリンクしないと言っていますか?どうして?それが本当であっても、WCFは2.0 CLRで実行されます。 – Blindy

+1

アセンブリが存在しないため、WCFはそこで実行できません。私は、.NET 3.5フレームワークを対象としたプログラムを作成でき、新しいアセンブリを使用しないと、そのプログラムは.NET 2.0 SP2のみがインストールされたシステム上で実行されるということです。 –

+0

しかし、私はそれがOPのことを話しているのか分からない。彼は、実行時制限については言及しておらず、2つのプログラムがどのフレームワークに対してコンパイルされているかについてのみ述べています。私は両方のフレームワークを一度にインストールしていると読んでいます。 – Blindy

0

いいえ、できません。 しかし、あなたは1つのことをすることができます。他のアプリケーションに、WCFコードとアプリケーションで使用した他のdllを実行するために必要なdllを必要なものにすることができます。 私はそれについてはわかりませんが、試してみることができます。

関連する問題