我有一個用C#編寫的程序集,使用WCF編譯版本3.5。該庫必須由vb.net編寫的另一個應用程序使用,該應用程序是使用2.0版進行編譯的外部公司。版本之間的參考。 NET Framework
可能嗎?
我有一個用C#編寫的程序集,使用WCF編譯版本3.5。該庫必須由vb.net編寫的另一個應用程序使用,該應用程序是使用2.0版進行編譯的外部公司。版本之間的參考。 NET Framework
可能嗎?
不,這是不可能的,但不是因爲框架的差異。這是不可能的,因爲你的客戶端沒有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同時運行。
我不明白這一點,你說.net 3.5 dll將運行在一個託管的.net 2.0進程,從而無法鏈接在WCF的東西?爲什麼?即使這是真的,WCF仍然會運行在2.0 CLR中。 – Blindy 2012-03-21 16:20:37
由於程序集不存在,WCF無法運行。我在說可以創建一個針對.NET 3.5框架的程序,並且如果您不使用任何新的程序集,該程序將在僅安裝了.NET 2.0 SP2的系統上運行。 – 2012-03-21 16:26:55
是的,但我不確定這是OP在談論什麼。他並不是在談論運行時間限制,而僅僅是關於這兩個程序編譯的框架。我正在閱讀它,因爲一次安裝了兩個框架。 – Blindy 2012-03-21 16:28:39
不,你不能這樣做。 但你可以做一件事。您可以爲您的其他應用程序提供運行WCF代碼所需的必要的dll
以及您在應用程序中使用的任何其他dll。 我不確定,但你可以試試。
您是否嘗試過引用.dll? – IAbstract 2012-03-21 15:33:16
vb.net應用程序在哪裏運行?在.NET 2.0系統上,還是在.NET 3.5系統上? – 2012-03-21 16:29:48