
Microsoftが「.NET 5」正式リリース。1つのフレームワークで分断化した.NETを統合へ 87
ストーリー by nagazou
リリース 部門より
リリース 部門より
Microsoftは米国時間11月10日、「.NET 5」正式版をリリースした。これまでの「.NET Framework」と「.NET Core」フレームワークを統合する立ち位置となるという。従来の.NET Frameworkに関しては バージョン4.8が最終メジャーアップデートとなり、今後は新機能の追加は行われない(.NET Blog、Publickey、ZDNet、@IT)。
この.NET 5はWindows、macOS、Linuxの各OSに対応しており、これまで分散していたデスクトップアプリケーションとサーバアプリケーション、Webアプリケーションの開発が可能で、さまざまな種類の.NETを統合する役割を持っているという。.NET 5の発表段階ではWindows向けの「.NET Framework」、サーバアプリケーション向けだった「.NET Core」、モバイル向けの「」の3種類を統合する予定だったが、Xamarinに関しては遅れ、2021年にリリースされる.NET 6.0で統合されるようになるとしている。
あるAnonymous Coward 曰く、
この.NET 5はWindows、macOS、Linuxの各OSに対応しており、これまで分散していたデスクトップアプリケーションとサーバアプリケーション、Webアプリケーションの開発が可能で、さまざまな種類の.NETを統合する役割を持っているという。.NET 5の発表段階ではWindows向けの「.NET Framework」、サーバアプリケーション向けだった「.NET Core」、モバイル向けの「」の3種類を統合する予定だったが、Xamarinに関しては遅れ、2021年にリリースされる.NET 6.0で統合されるようになるとしている。
あるAnonymous Coward 曰く、
マイクロソフトは、アプリケーションフレームワークの最新版となる「.NET 5」正式版のリリースを発表しました。
分断化した.NETを統合するそうです。
なんかJavaも同じこと言ってた気がしますが。
既知の非互換性 (スコア:3, 参考になる)
https://ufcpp.net/blog/2020/11/net5_0ga/ [ufcpp.net]
破壊的変更が少ないと言われている.Netですが、今回はバックエンドの国際化ライブラリ差し替えという思い切った変更がされており文字列処理がだいぶ影響を受けるそうです
改行文字の取り扱いなど容易に踏み抜きうる非互換性もいくつか報告されているので、なんとなくToStringしてきたようなエンジニアは注意しましょう
.NET Core のアップデート (スコア:1)
.NET 5で統合されることは、かなり前から予告されてたし、.NET Core 3.1/3.2の時点で、すでにWindowsのデスクトップアプリもに移行しちゃったところも多いんじゃないかな。
うちも、拍子抜けするくらい。最初からわかってる変更点の個所以外に何の問題も出ずに移行できちゃった。
.NET Frameworkはずっと更新しなくなってて .NET Coreへ移行する場合の再テスト/検証をしたくないってケース以外では存在意義を失ってたからな。
Re: (スコア:0)
.NET FrameworkのメリットはOSに標準搭載されていてランタイムを別途インストールする必要がないことだなぁ
重要とは言わないが地味にありがたいことがわりとある
Re: (スコア:0)
runtimeはASP.NET Core Runtimeと.NET Desktop Runtimeと.NET Runtimeと、いくつかに分かれたままだね。
Re: (スコア:0)
いやもうランタイムも一緒に配布するようになってるから関係なくない?
Re: (スコア:0)
関係なくなっているならそんなこと書かないよ。
客先の事情でいろいろめんどくさいこともあるんだ。
Re: (スコア:0)
でもLTSがたった3年なのよ。
OSSでは普通なのかもしれないけど10年20年サポートが当たり前の.NET Frameworkに慣れきった企業は移行できるのかね。
開発が活発ってことは今動いているコードが非推奨になったり動かなくなったりしやすくなるってこと。
末端のPGは新しいの使いたいだろうけど、上は頻繁に発生する移行コストかけたくないだろうなぁ。
モバイル向けの「」 (スコア:0)
Microsoft はモバイル向けに虚無を提供してたのか...
Re: (スコア:0)
MSのモバイル向け機器が消えてしまったもので…
Re: (スコア:0)
Xamarinのターゲットは AndroidとiPhone(とWindows デスクトップ) なのですが、、、
Re: (スコア:0)
所詮MSは片手落ち、Xamar無ぇぜと言わせる罠
.netのアップデート、どうなるのだろう? (スコア:0)
ちゃんとうまく、置き換わってくれればいいけど。
開発系やらずに実行だけの人は特に気になるはず。
また変な不具合が出ませんように…それだけ祈る。
Re: (スコア:0)
後継ではあるけど置き換わりはしないんじゃない?
Re: (スコア:0)
.NET Coreに限らず、.NET Framwork 1.0の時からサイドバイサイド実行なので、アップデート関係するのは開発者だけ。
.NET Frameworkの各バージョンも.NET Coreランタイムの各種バージョンもSDKも全部一つの環境で共存前提。
実行バイナリ側が、どのランタイムで動くのか、指定バージョンんがインストールされてない環境で、使えるランタイムはどこまでか指定されてる。無ければインストール要求される。
意外と短命 (スコア:0)
.NET5のサポート終了は2022年2月の予定です。意外と短命で、2021年11月公開予定の.NET6がLTS候補だという。
Re: (スコア:0)
.NET 5以降のリリースサイクルとして、偶数版がLTSということになっています。
軽く触った感じ (スコア:0)
.Net5版Windows Formsは微妙な感じ
プレビュー版からなんだけど
コンポーネントクラスのデザイナがエラーで動かないのよね
破壊的変更で色々削除されたとは聞いてるけど
コンポーネントクラスが削除された話はないし
実装漏れ臭いんだが仕様なのかね
特に使うものではないんだが気になった
破壊的変更や互換性が低いところがあるので
気になる人は4.8版を使うと良い
Re: (スコア:0)
コンポーネントクラスのデザイナがエラーで動かないのよね
それは.NET 5の話ではなくてVisual Studioの.NET 5対応の話では
Re: (スコア:0)
Windows Formsは、過去資産の維持のためだけだからな、いまさら新規開発することなんて想定されてないし、保守以上のことをすることも考えられてない。
.NET Framworkの時代でも、2.0系のFormsコードは VS2015以降のデザイナでは正常に開けない。
3系や4系であっても、実装はできるがVisual Studioのデザイナでは未サポートってのが、リリース当初からずっと変わらん。
Re: (スコア:0)
Windows Forms自体が微妙やろ。
新規開発でこんな糞使うな。
あとDataTableとかDataSetとかも使ったら死刑。
Re:軽く触った感じ (スコア:1)
エンティティフレームワーク使えよって言いたいなら、型付きデータセットさんのこと時々でいいから思い出してあげてください
型付きデータセットは.NET1.1で終わってNullableに対応しなかったからなあ……あれが対応してれば……
一方素のDataRowはDataRowExtensionsの拡張メソッドでデータベース上のNULLと.NETのnullを相互変換できるようになって
NULLの列にNullableの変数が使えるようになって便利になった
LINUXに対応って (スコア:0)
誰が使うんだろう?
Re:LINUXに対応って (スコア:2, おもしろおかしい)
誰が使うんだろう?
そらmono好きに決まっとろう
Re:LINUXに対応って (スコア:2)
海のmonoとも山のmonoともつかぬ
Re: (スコア:0)
.NETで開発したものがLinuxでも動くってだけの話だよ。
Linux上で動かしたいケースでLinuxで動かす。
Re: (スコア:0)
とりあえずマルチプラットフォームでJavaよりマシなのが使いたいって層。
Re: (スコア:0)
C#erがASP.NET CoreでWEBアプリケーションを構築するために使ってますよ~。
WindowsServerより安価に構築できるのは魅力かと。
Re: (スコア:0)
たくさんの人がお仕事で。実際に.NET Core(.NET5の前バージョン)はWindowsよりもLinuxの利用者の方が多かった。
Re: (スコア:0)
そりゃWindowsではみんなOSの.NET Frameworkを使うだろうからわざわざ.NET Coreを使おうとするやつは少ないだろうよ
Re: (スコア:0)
Core 2.1/2.2では .NET Frameworkのほうが多いんですけど、3.1あたりからはWindowsでも、.NET Coreのほうが多いんですよ。
Re: (スコア:0)
3.xからデスクトップアプリに対応したからね
Re: (スコア:0)
C#とかpower shell使いたい人
PowerShell 7.1 (スコア:0)
PowerShell 7.1が話題にしてもらいたそうに壁の陰から覗いている。
多重インストールに要注意
Microsoft Store、GitHUB、dotnetレポジトリの3か所で公開されているけれど、全部インストール先ディレクトリが異なるという極悪仕様。
Re: (スコア:0)
どっから入れるのがいいか分からんから入れてないわ
Re: (スコア:0)
どっから入れるのがいいか分からんから入れてないわ
PC版 [github.com]と
Windowsアプリ版 [microsoft.com]
があるですよ
ものは一緒ぽいけど
インストール先が別々で共存可能
# なんで分けたのかは意味不明
Re: (スコア:0)
あと「dotnet tool install -g powershell」でインストールできるのもある。
「dotnet tool update -g powershell」でアップデートもできる。
Re: (スコア:0)
これ、面倒くさいよな。
5.1と共存も嫌だなぁ。
.NETって (スコア:0)
これ使ったソフトを起動しようとすると、突然ガリガリHDDを読み始めるからすぐわかったっけな。
今となってはなかなか通じないネタだが。
Re: (スコア:0)
1.0とか2.0の時代だろ。3.5の頃には個人も企業も.NETで作るのが当たり前になってた。
Re:.NETって (スコア:1)
古いランタイムというか、XPの時代だな。XPだと 3.5でも同じ(というか、3.5は2.0のライブラリ追加で、基本は変わってない)
あの頃は、.NETがOSネイティブじゃなかったから、Win32でローダープロセス起動したあと、そこから.NETランタイムの起動が行なわれてた。
当時は、プロセス毎に小規模OS立ち上げてたような感じ。
Vista以降は、.NETもWin32と同じレベルで OSネイティブな実行形式に昇格してる。
Frameworkより文法が汚くなり過ぎたC#の置換をすればいいのに (スコア:0)
なんかもうC++並みにグダグダ感があるので使う気失せる。
Re: (スコア:0)
Cダブルシャープでも作りますか
Re: (スコア:0)
具体的にどこら辺がグダグダなのか教えてもらえますか?
Re: (スコア:0)
整理すればだれでも速攻使えそうな内容なのに、初心者にひどくつらい仕様に成り果ててる所。
Re: (スコア:0)
抽象的ですね
Re: (スコア:0)
C++のclassとstructよりは機能が別れてるからそこはc#の方がいいかな。
Whereの制約もいいと思う。
Enumはc#だと扱いにくいイメージ。ただリフレクションがあるとないとでは大違いではあるんだけど。
あと、C#は互換性のために残っている古い仕様を削ってくれればいいなあとは思う。
Re: (スコア:0)
互換性のための古い仕様がうざいのはC#より.NET Frameworkライブラリという印象。
5になって破壊的変更で捨てた部分もあるけど、Windows Formsあたりは捨てきれていない部分も多そう。
Re: (スコア:0)
ガイジwww
Re: (スコア:0)
新しいものについていけなくなった人がLINQとかあそこら辺あたりから文句垂れてる印象。
Re: (スコア:0)
わざわざ新しい文法全部覚える必要ある?
Tuple導入されたけど全然使いこなせる気しないから覚えてないわ
まとまってないから分かりづらいというなら
未確認飛行 CというC#の動向を追ってるところあるからそこを参考にしろ
https://ufcpp.net/study/csharp/ [ufcpp.net]
使えそうなものだけ選択して使えば良いんですよ