我在VS 2008編寫我的應用程序,所以使用所有奇怪的東西,如LINQ,對象初始值設定等等。現在我的應用程序可以運行在只有.Net 2.0運行時,但沒有.Net 3.5運行時的機器上嗎? .net 3.5運行時是一個巨大的下載,你可能都知道。.net 3.5應用程序是否可以在安裝了.Net 2.0運行時的機器上運行?
回答
你可以使用什麼例如var關鍵字,自動獲取器和自動設置器,對象初始值設定項。即語法糖編譯爲2.0代碼。
不能使用的是駐留在.Net框架3.0和3.5庫中的功能。例如LINQ。
通過將Visual Studio中的目標平臺設置爲.Net Framework 2.0,您可以嘗試自己可以和不能使用的內容。當您使用Framework 3.0和3.5中的東西時,編譯器會發出抱怨。
您可以使用擴展方法有一個小竅門:創建這個類項目
namespace System.Runtime.CompilerServices
{
public class ExtensionAttribute : Attribute { }
}
擴展方法實際上還編到2.0的代碼,但是編譯器需要這個類來定義。閱讀關於它here
不,他們不能。
如果您不使用.NET 3.5庫,則可以在.NET 2.0上運行它。請參閱Visual Studio multi-targeting support您可以使用LinqBridge在.NET 2.0上使用Linq查詢。
有關詳細信息,請參閱Channel9上的Daniel Moth的MSVS多重定位screencast。
在大多數情況下可能不會,而NET 3.5的支持.Net 2.0 CLR仍然EXCUTE有很多新庫和功能,你很可能會使用諸如定義擴展方法的代碼將不會提供給沒有安裝.Net 3.5的客戶。
您可以使用VS2008來定位.Net 2.0。我認爲這是解決方案元素上的一個屬性。
http://en.wikipedia.org/wiki/Microsoft_.NET#Microsoft_.NET有很多信息。
如果您想使用它的功能,您需要安裝.Net 3.5。
我建議您在爲Framework 3.0和3.5部署應用程序時尋找Smallest DotNet以查找較小版本的框架。
如果成本不是一個因素,您可以考慮運行時虛擬化軟件,例如VMWare ThinApp或Xenocode Postbuild,它們都允許運行.NET應用程序而無需安裝.NET運行時。
This article from Jean-Baptiste Evain解釋瞭如何使用C#3.0和LINQ以及僅安裝了.NET 2.0運行時的目標機器。
這個想法是使用System.Core Mono實現,該實現在MIT/X11許可下獲得許可。
注:本答覆首次提供給duplicated question。
- 1. 我的應用程序不會在.net 2.0下運行,在3.5上運行
- 2. .NET 3.5應用程序可以在Windows XP Home上運行嗎?
- 3. .NET 2.0編譯的應用程序在沒有.NET 3.5運行時的機器上失敗
- 4. 在.NET 4系統上運行.NET 3.5應用程序
- 5. 在.NET 3.5上運行.NET 1.1應用程序
- 6. 從.NET 3.5應用程序運行.NET 4.0應用程序
- 7. .NET - 在運行應用程序之前驗證並安裝.NET Framework 3.5
- 8. 在帶有.NET 2.0應用程序的服務器上安裝.NET 3.5
- 9. 運行.NET 3.5進程時,.NET 4和.NET 3.5之間是否存在差異
- 10. 運行.NET 3.5的代碼在2.0 CLR
- 11. .net 3.5應用程序是否運行在沒有3.5但有4個計算機的計算機上?
- 12. 運行.NET 4.0 API的.NET 3.5應用程序
- 13. .Net Framework 4.0安裝程序是否包含.Net Framework 3.5?
- 14. 使用.NET 2.0在XP上運行.NET 4.5程序
- 15. 在Azure上運行.NET應用程序
- 16. c#編譯的應用程序可以在沒有安裝.net的機器上運行?
- 17. 是否可以在僅支持ASP.NET 2.0的服務器上運行ASP.NET 3.5 MVC 1.0應用程序?
- 18. 是否有可能知道.NET Framework是否從.NET應用程序安裝?
- 19. .net在運行時重裝程序集
- 20. 是否可以在虛擬機上運行IPhone應用程序
- 21. 沒有安裝SQL Server,插入數據的.net應用程序可以在機器上運行?
- 22. .net 2.0和3.5將並排運行嗎?
- 23. 是否有可能編譯.NET 2個WinForms應用程序對.NET 4運行,如果沒有安裝.NET 2?
- 24. .net壓縮框架應用程序是否可以在Windows 8上運行
- 25. .net應用程序是否在Linux上運行?
- 26. 將MVC2 .NET 4應用程序轉換爲在.NET 3.5上運行
- 27. .NET運行時2.0錯誤
- 28. 如果安裝了3.5,是否需要.net framework 2.0?
- 29. 是否有可以運行多線程以利用多核機器的.NET測試的測試運行器?
- 30. .NET/IIS - 我可以使用.NET 3.5運行虛擬目錄,而網站在2.0中運行?