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

.NET 7 正式发布

  •  
  •   n0th1ng · 2022-11-09 08:24:05 +08:00 · 9661 次点击
    这是一个创建于 749 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://devblogs.microsoft.com/dotnet/announcing-dotnet-7/

    一块发布的还有 C# 11 ,F# 7 ,Visual Studio 17.4 ,MAUI

    .NET Conf 2022 https://www.dotnetconf.net

    68 条回复    2022-12-21 18:59:57 +08:00
    DearMark
        1
    DearMark  
       2022-11-09 08:38:09 +08:00
    太晚了,现在跨平台热点在 Tauri
    GTim
        2
    GTim  
       2022-11-09 08:39:05 +08:00   ❤️ 3
    我用 C# 一年,眼睁睁的看着 5 6 7
    cpstar
        3
    cpstar  
       2022-11-09 08:41:12 +08:00
    所以,我的电脑需要从.Net3.5 一路安装各种版本到 7 ?
    wjx0912
        4
    wjx0912  
       2022-11-09 08:48:02 +08:00
    以前一直等 maui ,现在就算它成熟也不会用了。微软有这个精力还不如贡献一下 electron&tauri
    sunmker
        5
    sunmker  
       2022-11-09 08:48:08 +08:00
    时间过得好快啊,我刚接触的时候还是 core 2.0
    ragnaroks
        6
    ragnaroks  
       2022-11-09 08:48:45 +08:00
    @cpstar 如果你是终端用户的话,不需要,selfhost 自带运行时,最小压缩大概 30 M 左右


    支持 arm64 了终于可以利用起手上一大批 arm 鸡了
    DTCPSS
        7
    DTCPSS  
       2022-11-09 08:53:00 +08:00
    .NET 8 应该是 LTS 吧,希望下个版本第一方框架能支持 AOT
    @hez2010 大大 WinUI 3 开 trimming 会炸的问题现在有什么头绪吗
    jim9606
        8
    jim9606  
       2022-11-09 08:59:21 +08:00
    在我这边最有存在感的.NET 版本了。我用的好几个软件为了 Native AOT 老早就上了预览版.NET7 。
    iold
        9
    iold  
       2022-11-09 09:02:07 +08:00
    @jim9606 居然给识别成链接了。。。
    jim9606
        10
    jim9606  
       2022-11-09 09:08:32 +08:00
    @cpstar .NET Framework 跟 .NET Core 3.x/ .NET 5~7 是两个系列。
    前者不跨平台,Framework3.5 已经比较少用了,多数都用 Framework4.x ,Win10 直接预装。
    后者可以共享 runtime 也可以自包含 runtime ,AOT 优化之后不算很大。不过对于手头有源码的软件我还是喜欢共享 runtime,理论上更省空间。
    beginor
        11
    beginor  
       2022-11-09 09:11:57 +08:00
    可惜现在手上用 .net 的项目已经不多了, 新项目都不是 .net 了
    Fule
        12
    Fule  
       2022-11-09 09:14:50 +08:00
    不错,不错,希望 Blazor 更上一层楼~
    moen
        13
    moen  
       2022-11-09 09:18:30 +08:00
    @GTim 要不要看看 node.js 和 Java 这些一年几个版本
    Soar360
        14
    Soar360  
       2022-11-09 09:22:20 +08:00
    喜闻乐见,快快更新起来。
    Lenic
        15
    Lenic  
       2022-11-09 09:33:43 +08:00 via iPhone   ❤️ 1
    梦回 7 年前,那时候我还在做 C#,用 .Net 4.5
    quan01994
        16
    quan01994  
       2022-11-09 09:34:41 +08:00
    太快了 。 公司还在用 4.8
    sinnosong1
        17
    sinnosong1  
       2022-11-09 09:35:30 +08:00   ❤️ 1
    还是那句话,用起来香的人就会关注,不关注的人无所谓。这些人反正世界里只有前端和 java🐶
    optional
        18
    optional  
       2022-11-09 09:41:25 +08:00 via iPhone
    非常庆幸当初没有死磕这个
    hez2010
        19
    hez2010  
       2022-11-09 09:44:50 +08:00 via Android   ❤️ 4
    前一阵子测 .NET 7 的性能真是变态的快,各种复杂场景都能跑到和 C++、Rust 同一梯队的水平了。
    hez2010
        20
    hez2010  
       2022-11-09 09:46:53 +08:00 via Android   ❤️ 1
    @DTCPSS 我遇到了个 access violation ,还在分析 dump 。
    对了,CommunityToolkit 目前是不支持 nativeaot 的,需要 rd.xml ,你不会用了 CommunityToolkit 吧
    hez2010
        21
    hez2010  
       2022-11-09 09:48:05 +08:00 via Android   ❤️ 1
    @hez2010 打错了,不是 nativeaot 。CommunityToolkit 目前不支持 trimming ,需要设置 TrimmerRootAssembly 排除 trimming 。
    villivateur
        22
    villivateur  
       2022-11-09 09:58:18 +08:00   ❤️ 1
    @Lenic
    @quan01994

    你们俩说的是 .Net Framework 吧?这跟 .Net 是两个东西。话说微软在命名方面太不开窍了。
    janxin
        23
    janxin  
       2022-11-09 10:08:23 +08:00
    @wjx0912 微软有 webview2 runtime
    Bazingal
        24
    Bazingal  
       2022-11-09 10:12:12 +08:00   ❤️ 1
    .NETer 升级动力比 Javaer 强多了,白得的性能为啥不要
    Jokerrrrrr
        25
    Jokerrrrrr  
       2022-11-09 10:13:23 +08:00   ❤️ 3
    工作都快找不到了
    cyersvet
        26
    cyersvet  
       2022-11-09 10:14:46 +08:00
    在更新 visual studio ,卡在了 98%,发现 https://go.microsoft.com/fwlink/?linkid=2203006 链接无法访问了,即使开着代理
    hez2010
        27
    hez2010  
       2022-11-09 10:17:36 +08:00 via Android
    @cyersvet 因为这个 link 跳转后是 dl.google.com 。你可能得考虑开 VPN/全局代理。
    cyersvet
        28
    cyersvet  
       2022-11-09 10:19:35 +08:00
    @hez2010 刚说完可就好了。。。
    a33291
        29
    a33291  
       2022-11-09 10:20:09 +08:00   ❤️ 1
    一般我们选 LTS 版本升级.

    另外上边很多人提到 electron 和 tauri 之类,只是和 maui 对齐的单个组件,是.net 下的一小块而已.
    这里的.net 指的整个 runtime,包括但不限于 desktop 端,还有 server 和前端.
    IDghyg5839
        30
    IDghyg5839  
       2022-11-09 10:30:53 +08:00
    现在我们单位.net 项目越来越少了
    d119
        31
    d119  
       2022-11-09 10:33:46 +08:00
    主要国内确实这个招人相对的少一些,我以前搞得时候还没到 core
    rwecho
        32
    rwecho  
       2022-11-09 10:41:19 +08:00
    net7 挺惊艳的
    ryan4yin
        33
    ryan4yin  
       2022-11-09 10:45:40 +08:00   ❤️ 2
    .NET 起来了还是喜闻乐见的,该给 Java 点压力了
    makelove
        34
    makelove  
       2022-11-09 10:46:14 +08:00
    .net 在国内早玩完了
    wanmyj
        35
    wanmyj  
       2022-11-09 10:52:25 +08:00
    迁移.NET framework 到.Net 6.0 都还没弄完,就出.Net7 了,话说 framework 到 core 的迁移真的是恶心,各种 C1001 的错误快把头发掉光了
    hez2010
        36
    hez2010  
       2022-11-09 10:56:55 +08:00 via Android   ❤️ 1
    @wanmyj 有个迁移工具可以自动化大部分过程: https://dotnet.microsoft.com/en-us/platform/upgrade-assistant
    wanmyj
        37
    wanmyj  
       2022-11-09 11:04:00 +08:00
    @hez2010 升级 c#用这个工具了,但升级 c++clr 的 project 到 net6 ,尤其是 WinForms library ,编译就会出现 C1001 ,有一些掉完头发解决了,有一些就光掉头发,
    jjx
        38
    jjx  
       2022-11-09 11:42:14 +08:00
    作为一个早期的 mvp

    不知道为什么, 服务器端不敢用, 总是感觉不放心,大概是思维定式的问题吧
    hez2010
        39
    hez2010  
       2022-11-09 11:54:48 +08:00
    @wanmyj C++/CLI 的话确实比较难办,尤其是 LINK 相关的错误,就算是单纯的 C++ 项目也经常容易遇到。
    timothyye
        40
    timothyye  
       2022-11-09 13:50:58 +08:00
    这么快,上次用.NET 还是 4.5
    elechi
        41
    elechi  
       2022-11-09 13:55:12 +08:00
    本来想学的,看到 MAUI 的桌面应用竟然不支持 WIN7 ,遂放弃
    zxCoder
        42
    zxCoder  
       2022-11-09 14:12:06 +08:00
    跟 java 一样开始刷版本号了
    poorcai
        43
    poorcai  
       2022-11-09 16:04:29 +08:00
    我司在用 .net 6 LTSC ,暂不更新了
    magicdawn
        44
    magicdawn  
       2022-11-09 16:22:24 +08:00
    歪个楼!!!

    为什么老提 tauri / electron
    因为 JavaScript 大法好啊~
    最近在用 JavaScript 写 macOS osascript 和 mpv user script.
    真是到哪都能用.

    osascript 中 JavaScript 地位等同于 AppleScript, 引擎使用 safari 一样的, 可以安心使用 ES2020 / ES2021 ...
    mpv 使用的引擎是 mujs, 支持 ES5
    看最差也有 ES5 可以用.
    iold
        45
    iold  
       2022-11-09 16:25:06 +08:00
    @elechi 硬件都不支持 Windows 7 多少代了,还要软件支持吗。
    lancelock
        46
    lancelock  
       2022-11-09 16:31:26 +08:00
    rider 还没支持吧,等等再说
    wanguorui123
        47
    wanguorui123  
       2022-11-09 16:45:23 +08:00
    微软是起了个大早,赶了个晚集
    isnullstring
        48
    isnullstring  
       2022-11-09 17:18:47 +08:00
    等 net 8
    rwecho
        49
    rwecho  
       2022-11-09 18:06:37 +08:00
    @magicdawn maui + blazor 和 tauri/electron 同样的产品.
    YsHaNg
        50
    YsHaNg  
       2022-11-09 18:21:17 +08:00
    @a33291 现在 .net 进各 Linux 官方源了 不知道每个 distro lts 里 .net eol 之后怎么办 会自动安装下一个 .net 发行版? 还是 ms 负责维护到 distro lts eol?
    a33291
        51
    a33291  
       2022-11-09 18:55:46 +08:00
    @YsHaNg 抱歉,我不是很了解各个 linux 发行版的仓库维护策略是应用开发者自行负责(比如 nuget/npm)还是说由发行版官方 /社区主导维护.对于 redhat/ubuntu 这类主流的发行版,感觉应该是官方维护.
    如果是从发行版的官方仓库安装的话,比如 yum/dnf/snap/apt 等,正常来说新版发布后会更新到对应发行版仓库,然后执行对应的 update 或 upgrade 才会升级,默认不会自动升级.
    对于手动安装(自行下载解压或使用官方脚本安装的),则需要再次手动执行一次来更新.

    .net7 或之后,随着 aot 等更发展更加成熟,应该会和 go/rust 这一类靠近,就是自包含模式,不再需要单独安装 runtime(官方说的云原生差不多就这个意思).
    12101111
        52
    12101111  
       2022-11-09 19:09:06 +08:00
    dotnet 还是没有官方开源的调试器: https://github.com/dotnet/core/issues/505
    maui 也不支持 Linux
    whevether
        53
    whevether  
       2022-11-09 21:51:22 +08:00
    @wjx0912 maui 这个没卵用的. 以前的那个 xm 换 个壳
    ijrou
        54
    ijrou  
       2022-11-09 22:08:45 +08:00
    我等 net10
    beyondex
        55
    beyondex  
       2022-11-09 22:46:14 +08:00
    .NET 性能越来越好了,对于性能敏感的地方,能够直接用 .NET 本身的特性实现大幅优化性能的手段也越来越多。
    Jirajine
        56
    Jirajine  
       2022-11-09 22:49:33 +08:00
    @12101111 没错,这两点是 dotnet 最劝退的地方,再补充一个 https://isdotnetopen.com/

    dotnet 太“企业级”了,企业级应用当然不需要支持 Linux 这种 others 平台。
    wdwwtzy
        57
    wdwwtzy  
       2022-11-09 23:06:37 +08:00
    @Jirajine 这……你可能需要先搞清 maui 是什么,以及不支持 linux 的什么,再来发言……
    Jirajine
        58
    Jirajine  
       2022-11-10 01:44:54 +08:00
    @wdwwtzy 抱歉写顺手了,第二句我想指的是 MAUI 。这是官方在不支持 Linux 的 issues 里回复的态度:business 应用场景不需要支持 others 平台。
    GTim
        59
    GTim  
       2022-11-10 07:52:17 +08:00
    @beyondex 性能上已经已经是 top3 了,但是编译后的体积...和 Java 有的一拼
    darknoll
        60
    darknoll  
       2022-11-10 11:42:13 +08:00
    这玩意还有人用?
    xieren58
        61
    xieren58  
       2022-11-10 12:20:14 +08:00
    idragonet
        62
    idragonet  
       2022-11-10 15:13:08 +08:00
    在用 NET6 ,在 Linux 跑真是爽歪歪!
    beyondex
        63
    beyondex  
       2022-11-10 19:01:06 +08:00
    @GTim 是的。等 8 后 Native AOT 足够成熟,大部分应用都能 Native AOT 后,看体积能小多少。self contained 大的主要是 runtime ,Native AOT 后虽然程序本身 dll 体积可能更大,但省掉 runtime 的那一堆 dll ,减少的体积或许会小不少。
    busymilk
        64
    busymilk  
       2022-11-16 21:56:45 +08:00
    android 转 .net 可以么,有市场么,😂
    whevether
        65
    whevether  
       2022-11-20 20:20:05 +08:00
    @busymilk 你这是 49 年入国军。 现在.net 都是些老市场。 .net fr 在工业领域苟延。 互联网领域基本很少了
    busymilk
        66
    busymilk  
       2022-11-21 12:00:07 +08:00
    @whevether 最近失业要回老家了,本身不是一定要互联网领域,能找到工作挣钱就行。
    stevefan1999
        67
    stevefan1999  
       2022-11-30 18:56:53 +08:00 via Android
    @busymilk 你的意思是.net 將步進民主化嗎
    whevether
        68
    whevether  
       2022-12-21 18:59:57 +08:00
    @makelove 工作全是维护祖传代码的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1237 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 18:07 · PVG 02:07 · LAX 10:07 · JFK 13:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.