這是歷史版本頁面 — 看 .NET Framework (4) 最新版本

裝軟體跳出缺.NET Framework 4,它到底在幹嘛

.NET Framework (4) 軟體圖示 .NET Framework (4) 4.7 資料更新 2017-04-07 閱讀約 6 分鐘

你下載了一個想用的軟體,雙擊安裝檔,結果畫面跳出一串英文,說你的電腦缺少 .NET Framework 4,問你要不要下載安裝。你當下只想快點把軟體裝好,根本不想研究這是什麼東西,但偏偏不裝它,你要的軟體就是開不起來。這種「被系統攔住、卡在安裝第一步」的感覺,很多人都在裝遊戲、繪圖軟體或公司內部工具時遇過。

有些人會直接略過提示,結果軟體打不開;有些人上網亂抓安裝檔,裝了一堆來路不明的東西。其實這類工具扮演的角色很單純:它是一個執行環境,讓用特定程式語言寫出來的軟體能在 Windows 上跑。你不需要懂技術細節,只要知道「當軟體要求它,你就裝它」就夠了。

01裝遊戲或程式一直跳出要裝 .NET Framework 4,不裝會怎樣

不裝的話,那個軟體通常無法啟動,或啟動後立刻閃退。它提供執行環境和共用程式庫,很多 Windows 軟體在開發時就依賴它,少了它,軟體找不到需要的元件就會直接放棄執行。如果你遇到的是安裝檔主動跳出提示,照著安裝通常就能解決;如果裝完還是不能跑,問題可能出在別的地方。

02這套軟體裝了之後到底能幹嘛,我平常只上網看影片需要嗎

它本身沒有操作介面,不是一個你會打開來用的軟體。它是在背景提供執行環境,讓其他軟體能正常運作。一般使用者不會直接感受到它的存在,只有當你安裝的軟體或遊戲需要它時,系統才會跳出安裝提示。如果你沒遇過任何軟體要求它,就不需要主動安裝。

03它跟 .NET Core 差在哪,我該裝哪個

資料裡提到,.NET Framework 主要針對 Windows 平台,.NET Core 和 .NET 5+ 是後繼者,支援跨平台、架構更模組化。如果你只是要跑現有的 Windows 軟體,裝 .NET Framework 就夠了;如果你是開發者、要做跨平台應用,才需要考慮 .NET Core 或 .NET 5+。兩者用途不同,不是取代關係。

04裝了之後電腦會變慢嗎,會不會拖累效能

資料提到這版有效能最佳化和垃圾回收改進,理論上能讓依賴它的軟體跑得更順。但對一般使用者來說,它平常在背景待命,不會持續占用資源,實際影響很難感覺出來。如果你的電腦硬體規格較舊,裝了之後沒有明顯變慢,就不用擔心;如果真的覺得卡,問題通常出在別的地方。

05它支援哪些 Windows 版本,Win 7 或更舊的能裝嗎

資料顯示它支援 Windows 8、Windows 10、Windows 11。更舊的 Windows 版本沒有被列在支援清單裡,如果你還在用 Windows 7 或更早的系統,需要去微軟官網確認有沒有對應的版本可裝。另外,系統版本太舊的話,就算裝了,也可能因為缺少其他元件而無法正常運作。

06我是寫程式的,用這套開發有什麼要注意的

資料說它支援 C#、VB.NET、F# 等語言,提供豐富的類別庫,適合開發 Windows 桌面、Web 和行動應用。但要注意,微軟的重心已經轉到 .NET Core 和 .NET 5+,新專案建議先評估要不要直接用新平台。如果你要維護舊系統或開發 Windows 限定功能,用它還是可行的選擇。

07一般使用者遇到跳出提示,直接按安裝就好嗎

資料說安裝過程很直接,通常會隨 Windows Update 一起提供,也可以從微軟官網下載安裝程式。遇到提示時,照著指示安裝就好,裝完通常就能繼續安裝原本的軟體。要注意的是,下載來源要認明微軟官方管道,不要從不明網站抓安裝檔,以免裝到來路不明的東西。

08新專案還用這套開發適合嗎,會不會走回頭路

資料的結論寫得很清楚:微軟重心已經轉到 .NET Core 和 .NET 5+,.NET Framework 對新專案來說已經不是優先選擇。如果你要開發全新的應用,建議直接學 .NET Core 或 .NET 5+,除非你的專案有特殊需求,例如必須使用 Windows 限定功能,或要維護既有系統,才需要繼續用它。

09我要做跨平台 App,這套能應付嗎

資料明確提到它跨平台支援有限,主要針對 Windows 平台。如果你要開發能在 Windows、macOS、Linux 或手機上跑的應用,它不適合。這種情況應該考慮 .NET Core 或 .NET 5+,或改用 Java、Python、Node.js 等其他替代方案。先確認你的目標平台,再決定要用哪套工具。

10電腦裡已經有 .NET Framework 3.5,還要裝 4 嗎

資料沒有直接說明不同版本能否共存,但版本紀錄顯示它收錄了多個版本,代表不同版本可能同時存在於系統中。一般來說,不同版本的 .NET Framework 可以並存,不會互相覆蓋。建議先確認你要跑的軟體需要哪個版本,再決定要不要裝;如果軟體明確要求 4,就裝 4。

11這套軟體多久沒更新了,放著不管會有安全風險嗎

資料顯示它近兩年沒有更新紀錄,微軟的開發重心已經轉到 .NET Core 和 .NET 5+。雖然它本身算穩定,但長期沒有新版本,代表如果有安全漏洞,可能不會獲得修補。如果你只是為了跑舊軟體而裝它,風險相對低;如果在意安全,可以留意微軟官方的公告和建議。

下載與官方連結

前往官方網站 下載 .NET Framework (4)

NDP47-KB3186497-x86-x64-AllOS-ENU.exe · 58.73 MB · 連結指向軟體原廠

版本紀錄

再看 5 筆

看完整版本清單

這一版改了什麼

What's new in this version:

- .NET Framework 4.7 contains dozens of bug fixes and improvements. This list details those changes, grouped by feature area. Each change includes our TFS bug numbers at the end of the line. Please include those numbers in your communication if you wish to contact us to obtain more information.

CLR:
- Fixed buffer overflows with large manifests in EventSource.
- If a COM interface contain setter only indexed property, Tlbimp will generate incorrect setter property metadata.
- Implemented IEnumerator in EventPayload (EventSource).
- JIT performance improvements
- Improved performance of creating large numbers of TaskSchedulers when a debugger isn't attached.
- EventSourceIndex method is now public.
- Support for ToEventKeywords() method instead of working with keywords directly.
- Fixed NGen Task to respect battery saver setting.
- Fixed a bug where null paths would not throw ArgumentNullException.
- Added the case of Wrong machine code generated by RyuJIT on AVX2-capable CPU to the list of instructions that have this characteristic.
- Implemented flexibility in specifying Server GC resource consumption.

BCL:
- Opening a cryptographic key with CspParameters.ParentWindowHandle set to this.Handle will now correctly make any PIN or password prompt be modal to the current window
- Added ValueTuple types to support C# 7.0 and VB 15 tuples
- Added Name property to Regex.Group.
- Fixed InvalidPath exception when using FileIOPermissions with device syntax (?),
- ECDsa and ECDiffieHellman can now import and export key parameters (all OSes) as well as represent points over an expanded set of curves (Win10).
- Fixed an issue in SerialPort where unplugging the device during execution could cause a memory leak in the SerialStream class.
- Improved support of RSA decryption with hardware keys

Networking:
- ServicePointManager.SecurityProtocol will default to a new value: SystemDefault which allows applications to use the underlying operating system TLS version selection defaults. New SslStreamAuthenticateAs APIs allow applications to omit the SslProtocols parameter and use the system default. New HashAlgorithmType enum members.
- Added support for the TLS Alert Protocol
- Updated HttpListener to handle improvements to the token binding protocol.
- Fixed pointer offset calculation in HttpListener for token binding struct.

ASP.NET:
- Allows for extensibility of the cache providers that could allow them to operate on new services with less overhead from memory usage.
- Introduced a new config parameter 'timeoutUnit' for ActiveDirectoryMembershipProvider that can be used to indicate the 'clientSearchTimeout' and 'serverSearchTimeout' values. These should be interpreted as Days/Hours/Minutes/Seconds/Milliseconds. If not specified, the default is Minutes, as was the previous behavior.
- Customer will see a warning in the windows event log if they have specified to use unsecured password formats in their web application.
- Fixed assignment issue with max-age value for OutputCache.
- Fixed an issue with exception handling for custom membership provider scenario.

WPF:
- WPF now uses PrintDocumentPackageTarget instead of the deprecated XpsPrint API.
- Fixed crash in WPF when typing in text with specific language input
- The escape sequences have been unescaped in the URLs while converting from XAML to RTF.
- Fixed crash in DocumentView when receiving input from IMEs.
- Fixed ribbon crash when Alt + accelerator key is pressed to display the submenu.
- Previously, large amounts of connects and disconnects of tablet/stylus devices could result in WPF losing all touch support except for promoted mouse messages. This was due to a reference counting issue within WPF and its Windows side touch component (WISP). This change, along with the associated WISP change available in RS2, fixes this situation allowing large numbers of connects and disconnects.
- Conversion of BaselineOffset property has been added while converting from XAML to RTF and vice versa.
- Modernize touch stack
- Fixed crashes in Combobox
- Added support for alternative delimiter characters in markup.
- Fixed textbox focus issues
- Fixed out of memory issues with custom textbox.
- In some scenarios, shutting down input for a stylus/touch device (program shutdown or device disconnection) could result in a deadlock. This change alleviates that issue by fixing a timing problem with the WPF stylus/tablet initialization and shutdown code.
- In order to disable the WPF stylus/touch stack developers were previously using a private reflection mechanism. This provides a new mechanism in the form of an AppContext switch. Switch.System.Windows.Input.Stylus.DisableStylusAndTouchSupport set to true will fully disable the stylus/touch stack without requiring any private reflection or other workarounds.
- Inheritable properties propagate through a new link in the visual tree, including properties declared in a Style newly enabled by the link because a DynamicResource reference now resolves.
- ImageSourceConverter.ConvertFromString now throws the correct DirectoryNotFoundException instead of NullReferenceException if called with an invalid path (only on apps targeting .NET Framework 4.7 and above)
- Fixed IOException crashes arising from Cursor.LoadFromStream, that could happen on application start.
- Fixed a deadlock arising from re-entrant COM requests while waiting for the lock protecting WPF's weak-event component.
- Scroll tracing now supports scenarios involving multiple instances of an ItemsControl with the same name, that enter and leave the visual tree dynamically.
- Some ItemsControls allow null to appear in the ItemsSource. If so, the automation for the control should allow null as well. An app that works in a normal environment should not crash in when automation is present.
- Fixed an ArgumentException arising from bindings on a non-Visual element declared in a DataGrid cell template.
- Improved Grid algorithm usages to allocate space to columns declared with *-width. For details refer to Application compatibility changes.
- Fixed crash arising from displaying certain sequences of Unicode characters deemed (by the font and by DWrite) to have negative advance width.
- Fixed a crash arising when running two instances of a process that creates multiple large packages when using System.IO.Packaging.
- When an exception interrupts a PropertyChanged or CollectionChanged notification raised on a worker thread, other such notifications continue to be processed normally.
- Fixed D3DImage memory leak.
- Fixed crashes in DataGrid with column virtualization enabled scenario.
- Improved reliability of anchored scroll scenarios.
- Support for Async and AddJob scenarios in printing.
- The content of the selected item in a TabControl is visible to UI Automation, even after changing IsEnabled (or other properties) on the TabItems.

WCF:
- Fixed a bug in SocketConnection.Read which caused the operation to hang when mixing synchronous and asynchronous calls.
- Support for CNG certificates. For details refer to Application compatibility changes.
- Support for DataContractJsonSerializer to follow ECMAScript 6 when serializing control character.
- Fixed process crash in concurrent Dictionary scenario
- Fixed a race condition on the cleanup path of WCF Tracing that caused an ObjectDisposedException.
- Enabled WCF message security configuration to use TLS1.1 or TLS1.2. For details refer to Application compatibility changes.
- Fixed a bug in OperationContext.Current which caused it to return null when called inside an OperationContextScope
- Ensure no deadlock occurs when two threads try to abort the channel.

Workflow:
- Support for propagating an activity exception as-is instead of throwing a Null Reference Exception. For details refer to Application compatibility changes.
- Previously when trying to use Visual Studio to debug XAML-based workflows on a machine with FIPS enabled, one would encounter a NullReferenceException. This has been resolved. However, in order to take advantage of this change, you will need to add the following to the App.Config file for the workflow application:
- For details refer to Application compatibility changes.
- SqlWorkflowInstanceStore database now defines Primary Key columns, allowing transactional replication.

Windows Forms:
- Fixed dialog layout for High DPI scenarios
- Enabled ClickOnce signing scenarios where certificate is identified by a cryptographic provider and private key container names.
- Docked ListBox controls will now revert to their correct size in the designer when the Dock property is changed to DockStyle.None in the property browser.
- Fixed properly scaling across dialog control elements, including control padding and sizes in High DPI scenarios.
- Fixed text clipping in localized versions of .NET SDK tool MageUI.exe.
- Fixed IndexOutOfRangeException.
- Fixed clipped buttons in WinRes.exe .Net SDK tool
- Fixed crashes in Windows Forms Designer that happened when the Windows theme was changed.
- Fixed an issue in the Windows Forms designer where under some circumstances selecting a ContextMenuStrip causes Visual Studio to crash.
- Improved reliability of ToolTip control.
- Fixed reliability issue with ShowPropertyBrowser and Controls
- Changed the background color of property grid lines to provide an 8:1 contrast ratio for high contrast themes.
- Improved reliability of the Windows Forms DataGrid control.
- Fixed control height scaling issues in DPI mode
- Fixed toolstrip scaling issues in DPI mode
- Fixed case-insensitivity issues with command line arguments in mage.exe .NET SDK tool.
- High DPI support for winforms applications via app.config file.
- Fixed for the proper placement of anchored controls.
- Fixed control text truncations issue in a Visual Studio dialog.
- Enable per-monitor scaling in DPI mode

SQL:
- Fixed TransparentNetworkIPResolution (TNIR) Connectivity issues.
- SQL Client now uses TCP as the default protocol for connections to Azure SQL Database. Previously, SQL Client tried every protocol including viz, Shared Memory, TCP, and Named Pipes to establish a connection to Azure SQL Database, which only supports TCP connections.

ClickOnce:
- Fixed store corruption in ClickOnce application.
- Added the ability to sign a manifest file via a Hardware-Security Module (HSM) to Mage.exe and MageUI.exe