V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
allplay
V2EX  ›  .NET

Windows 普通用户,可否禁用系统自带.net 3.5/4.8,仅安装最新.net 8/9?

  •  1
     
  •   allplay · 20 天前 via Android · 1766 次点击
    在 Windows Update 中,这两套都会有更新。
    可否在启用或关闭 Windows 功能中禁用自带的.net framework 3.5 4.8 。然后从微软官方下载最新的.net 8/9 运行时。
    这样减少冗余、bug 。
    21 条回复    2024-12-24 09:21:25 +08:00
    zgsi
        1
    zgsi  
       20 天前
    又不冲突,没必要吧
    geelaw
        2
    geelaw  
       20 天前 via iPhone
    可以,当然需要用 .NET Framework 1.0-4.8 的程序就都不能运行就是了,比如 Windows PowerShell 。

    认为这样会减少“冗余、bug”是无稽之谈。如果没有 .NET Framework 1.0-4.8 的程序,那么这些代码都不会执行,自然不是 bug ;如果有,那么这两个版本并不是冗余,不同版本的 .NET 不能互相替代。
    BYDH
        3
    BYDH  
       20 天前
    .net core 和.net framework 不是一个东西,并不只是版本号的差异。.net 程序知道自己需要的运行时是什么。最好的就是什么都不做
    sds7ss
        4
    sds7ss  
       20 天前
    可以。控制面板里面关掉
    wanguorui123
        5
    wanguorui123  
       20 天前
    微软尿搞屎屎搞尿,搞了个 NetFrameWrok 又搞了个 NetCore ,最后又合并了个 Net8
    jim9606
        6
    jim9606  
       20 天前 via Android
    .net framework 3.5/4.x 跟.net core/.net 5+并不兼容?后者并不能用来跑 framework 应用
    framework3.5 默认不安装,直接省略。
    framework4.8 设计兼容所有 framework4.x 应用,所以不需要留多个 4.x 版本 runtime 。

    所以你想的全局装一个最新 runtime 包圆的洗洗睡了,更常见的情况是每个 app 自带整个 runtime ,你摘不掉也不需要单独装,update 也不会帮你更新。
    thinkershare
        7
    thinkershare  
       20 天前
    .NET Framework x.x ,Mono, .NET Core(.NET5+)是 3 套 CLI 规范的互不完全兼容的实现,主要差异是它们的标准库差异很大,运行时差异也不少。
    另外即便是同一个 runtime ,他们的高版本也不保证 100%兼容低版本(某些 BCL 库的 API 和行为都会发生 breaking changes).
    iv8d
        8
    iv8d  
       20 天前 via Android
    删除程序里卸载系统自带的就行,以后用啥安装啥
    yulgang
        9
    yulgang  
       20 天前
    The Microsoft .NET family.
    iLoveSS
        10
    iLoveSS  
       20 天前
    十年后.net 系列的 runtime 会在系统里留下多少痕迹
    lisxour
        11
    lisxour  
       20 天前
    这两个都不装,很多东西根本跑不了,相信我
    chenxuuu
        12
    chenxuuu  
       20 天前
    首先.net framework 3.5-4.8 和.net5-9(.net core)完全不是一套东西

    .net framework 没有运行时,那软件就完全跑不起来了

    .net core 软件可以自带运行时,但有些软件为了节省空间,也会选择用系统的运行时
    不同版本的.net core 运行时也没有互相替代一说,你只装新的,依赖老版本运行时的软件就不能用了
    不过大部分开发者还是会选择软件自带运行时,毕竟也大不了多少

    所以你只能卸载同版本的重复.net 包(比如.net5.100 和.net5.002 可以保留一个最新的)
    hcocoa
        13
    hcocoa  
       20 天前
    CentOS 普通用户,可否禁用系统自带 Python2 / PHP5 ,仅安装最新 Python3 / PHP8 ?
    pckillers
        14
    pckillers  
       20 天前
    @hcocoa 因为你没说 centos 几,我先按照 centos 7 来回答。python2 我记得 yum 依赖 python2 ,所以删不了。 至于 php5 ,用 minium 安装时是没有 php 的,你可以认为并不是必须的。
    hgert
        15
    hgert  
       20 天前
    #6 说的没啥问题建议逐字阅读 另外如果是你自己的电脑可以折腾一下试过了就知道怎么回事了 如果是公司的电脑就别搞了能跑就行 或者你人可以跑二选一
    dq19871123
        16
    dq19871123  
       20 天前
    感觉 OP 的逻辑反了,不是应该装什么不装什么,而是应该考虑你用的软件有没有需要.NET 的,如果有,需要的是什么版本的。如果你用的软件没有用到.NET 的,你什么都不装也行,如果你用到的软件不仅用到了.NET 还限制了版本,那你就得按需安装。
    gbw1992
        17
    gbw1992  
       20 天前
    .net8/9 (.net core) 和 .net 3.5/4.8(.net framework) 完全不是一个东西
    以现在的情况来看
    你不安装.net8/9 运行时 完全没问题
    但是禁用系统自带.net 3.5/4.8 几乎不可能
    Remember
        18
    Remember  
       20 天前
    系统自带的是 4.x ,现在是 4.8.xxx ,兼容所有 4.x 版本。
    3.5 我记得是兼容 2.0~3.5 所有版本,现在基本上只有老的程序会用,
    系统默认不安装,有老程序要用的时候会提示在线安装。
    还有个 1.1 版本,那个很早就废弃了,推广也很失败,几乎没有程序会用。
    现在的新的方案是跨平台的.net core ,版本是 8.0.xx LTS 和 9.0.xx ,系统不带,需要自己装,或者程序提示后在线安装。

    所以结论是 4.8 的版本你管不了,跟系统强耦合。
    用老.net 软件,就装 3.5 ,不用就不装。如果装了的话,他跟 4.8 一样,每个月跟着 Windows 一起安全更新。
    用新的.net core 软件,就装 8.0.xx LTS 或者 9.0.xx ,不用就不装。另外这个不晓得 wsus 会不会自动更新,不更新就要
    手工更新了。
    PrinceofInj
        19
    PrinceofInj  
       20 天前
    3.5 可以不装,现在轻量使用计算机,不用旧软件基本上用不到。4.8 一般都有需要。不过也可以卸掉,需要的软件运行的时候系统会提示。net core 的也一样。如果需要,会有提示你安装。
    maix27
        20
    maix27  
       2 天前
    .net framework != .net core

    删了只会增加 bug 。
    zhangeric
        21
    zhangeric  
       1 天前
    .net framework 留个高版本的,这个是向下兼容的.同样的.net core 也留个高版本的,同样也向下兼容不过不兼容.net framework.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1671 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 16:45 · PVG 00:45 · LAX 08:45 · JFK 11:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.