2012-03-21 126 views
3

我有一個用C#編寫的程序集,使用WCF編譯版本3.5。該庫必須由vb.net編寫的另一個應用程序使用,該應用程序是使用2.0版進行編譯的外部公司。版本之間的參考。 NET Framework

可能嗎?

+1

您是否嘗試過引用.dll? – IAbstract 2012-03-21 15:33:16

+0

vb.net應用程序在哪裏運行?在.NET 2.0系統上,還是在.NET 3.5系統上? – 2012-03-21 16:29:48

回答

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加上更多的新程序集。所有這三個都使用.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 2012-03-21 16:20:37

+1

由於程序集不存在,WCF無法運行。我在說可以創建一個針對.NET 3.5框架的程序,並且如果您不使用任何新的程序集,該程序將在僅安裝了.NET 2.0 SP2的系統上運行。 – 2012-03-21 16:26:55

+0

是的,但我不確定這是OP在談論什麼。他並不是在談論運行時間限制,而僅僅是關於這兩個程序編譯的框架。我正在閱讀它,因爲一次安裝了兩個框架。 – Blindy 2012-03-21 16:28:39

0

不,你不能這樣做。 但你可以做一件事。您可以爲您的其他應用程序提供運行WCF代碼所需的必要的dll以及您在應用程序中使用的任何其他dll。 我不確定,但你可以試試。

相關問題