Category Archives: .NET

.NET 6 Preview 6リンクまとめ

登場しました。

.NET 6 Preview 6をリリースできることを嬉しく思います。Preview 6は、RC期間に入る前の最後から2番目のプレビューです。RCは2回行われます。このリリース自体は比較的小さいものですが、Preview 7はより大きなものになります。その後は、11月の最終リリースまで品質修正に専念します。素晴らしい新しい.NETリリースになることを期待しています。

ダウンロード: download .NET 6 Preview 6

Visual Studio 2022 Preview 1リリース

Visual Studio 2022 Preview 1 now available!

以下雑訳。

この度、Visual Studio 2022の最初のプレビュー・リリースのインストールが可能になりました。これは64ビットのVisual Studioの最初のリリースです。ぜひダウンロードしてお試しいただき、ご意見をいただきながらVisual Studioの次のメジャーリリースにつなげていきたいと思います。

今回のプレビューの主な目的は、新しい64ビットプラットフォームのスケーラビリティをテストし、調整することです。新しい64ビット・プラットフォームでは、Visual Studioのスケーリングが可能になり、システム・リソースをすべて利用できるようになります。これにより、複雑なソリューションを扱う場合や、Visual Studioを長時間使用する場合に、Visual Studioの信頼性が向上します。64ビット化の作業は、Visual Studioのすべての部分に影響を与えるため、通常のプレビューよりもはるかに大きな範囲で行われます。

私たちは、お客様が Visual Studio に品質、安定性、拡張性を求めていることを知っています。そのためには、お客様のような本物の開発者から改善点を教えていただくことが一番の近道なのです。私たちは、すべてのバグレポート、提案、そしてアップヴォートに注意を払っています。バグレポートは、Visual Studio の「report a problem」から送信できます。

Help us improve the quality and stability by reporting a problem within Visual Studio

Visual Studio 2022 Previewのダウンロード

Visual Studio 2022」のプレビュー版は、以前のバージョンのVisual Studioと並行してインストールでき、Community、Pro、Enterpriseの3つのエディションすべてで利用でき、無料で使用できます。

お客様の声をお聞かせください

プレビューをお試しいただき、Visual Studio 2019と同じようにお使いいただくことをお勧めします。また、Visual Studio 2022をお客様にとって最高の開発環境にするための貴重なフィードバックや製品内アンケートにご協力いただき、ありがとうございました。

特に、Visual Studio 2022で非常に大規模で複雑なソリューションを扱った経験についてお聞かせください。64ビットにアップグレードされる前は、この種のソリューションをお持ちのお客様は、メインの32ビットプロセスで使用するメモリーが不足して、Visual Studioに問題が発生することがありました。Visual Studio 2022の初期のテストでは、同じお客様が700(またはそれ以上!)のプロジェクトを含むソリューションでも、何日もIDEを実行することができました。

今後の展開

Preview 1 のアップグレードのほとんどは 64 ビットのサポートに関連していますが、Preview 2 からはエキサイティングな新機能とパフォーマンスの向上が予定されています。 これらの新機能については、Visual Studio のロードマップをご覧ください。すぐにお試しいただける新機能としては、IntelliCodeのアップデートがあります。これにより、一度に1行までのコードを自動的に完成させることができます。

Visual Studioを64ビットに移行する作業はまだ残っており、Visual Studio 2019の機能のうち少数のものはVisual Studio 2022 Preview 1には含まれていません。 それらの次期機能のリストはリリースノートに記載されています。

Visual Studio 2022 のプレビュー期間中、お客様が愛用しているエクステンションを開発しているパートナー企業は、エクステンションの更新作業を行います。その間、そのエクステンションはすぐにはVisual Studio 2022で利用できません。

Visual Studio 2022 for Macの最初のプレビューがまもなく公開されます。Visual Studioの新しいモダンなmacOS UIを初めてご覧いただけます。開発者からのフィードバックを受けるにはまだいくつかの作業が必要ですが、その進捗についてはこのVisual Studioブログでお知らせします。

すべてのエクステンション作者に呼びかけ

エクステンションを作成されている方は、ご自身のエクステンションをVisual Studio 2022に取り込むお手伝いをさせてください。まずは、エクステンションをプレビュー1に移行するためのガイドをご覧ください。

また!今週の金曜日(6月18日)には、Visual StudioチームのシニアPMであるMads Kristensenが、Visual Studio 2022の拡張機能をアップデートする方法を実演する様子をご覧いただけます。ライブストリームは、太平洋時間の午後3時にこちらからスタートします: https://youtu.be/-PKIPTW6km0

Visual Studio 2022を形作るために

Visual Studio 2022 をインストールし、使用し、調査に参加し、Developer Community で意見を共有することで、Visual Studio 2022 の形成に参加してください。

Visual Studio 2022 Previewのダウンロード

関連リンク

Visual Studio 2022 Previewのダウンロード


プログラミングC# 第8版
Ian Griffiths (著), 鈴木 幸敏 (監修), 木下 哲也 (翻訳)
オライリージャパン; 第8版 (2021/6/22)

.NET 6 Preview 6リンクまとめ


プログラミングC# 第8版
Ian Griffiths (著), 鈴木 幸敏 (監修), 木下 哲也 (翻訳)
オライリージャパン; 第8版 (2021/6/22)

Visual Studio 2019 v16.10 and v16.11 Preview 1

Visual Studio 2019 v16.10 and v16.11 Preview 1 are Available Today! | Visual Studio Blog

Buildにあわせてリリースされました。DEEPLベースで雑訳。

Visual Studio 2019 v16.10で何が新しいのか

この度、Visual Studio 2019 v16.10 GAとv16.11 preview 1がリリースされました。 このリリースにより、私たちのテーマである開発者の生産性と利便性が、Visual Studioユーザーに一般的に利用できるようになりました。C++20の機能を追加し、Gitの統合を改善し、プロファイリングツールを改善し、生産性を加速する機能を多数搭載しています。

最新のVisual Studioリリースをダウンロードして、16.10の新機能をお試しください。また、Developer Communityでは、皆様からのフィードバックや交流をお待ちしています。

C++

当社のコンパイラと STL は、最新の C++20 規格に対応しています。16.10 には、カレンダー、タイムゾーン、 といった待望の機能が搭載されています。これらの機能はすべて、/std:c++latest スイッチで利用できます。一部の機能は、ABI と互換性のない方法で欠陥レポート(ISO C++20 のバグ修正)によって修正されることが予想されるため、/std:c++20 スイッチはまだ利用できません(詳細については、Microsoft/STL Issue #1814 を参照してください)。

<format>は、fmtlibをベースにした、テキストフォーマットのための新しい機能です。iostreamsやprintfファミリーに代わる高速で安全な機能を提供します。

auto version = 20;
std::format(“STL is now C++{} feature-complete!”, version);

カレンダーとタイムゾーンは、既存の機能を拡張したものです。これらの機能は、型安全でタイムゾーンを意識した方法で、日付と時刻を表現し、操作するための機能を提供します。

std::chrono::year_month_day world_bee_day = May/20d/2021y
std::format("Buzz buzz on %F!”, world_bee_day);

さらに、モジュール、レンジ、コンセプトのインテリセンスを改善しました。Go-to-definitionは、モジュール自体と、モジュールからインポートされた定義の両方で動作します。レンジはコンパイラにとって処理が難しいことで知られていますが、インテリセンスはレンジの補完を行うことができます。また、コンセプト内で定義された名前の補完も可能です。

Visual Studio now has completions for Ranges.

LLVM OpenMPランタイムが、x64に加えて、x86とARM64にも対応しました。対象とするには、/openmp:llvm スイッチを渡します

C++20 スタイルのコルーチンを使用したいが、C++11 または C++14 をターゲットにしている場合は、/await:strict スイッチを使用して望ましい動作を得られるようになりました。

coroutineのデバッグと可視化を改善しました。特に、std::coroutine_handleの可視化では、オリジナルのコルーチン関数名とシグネチャ、そして現在のサスペンドポイントが表示されるようになりました。

Coroutine debugging and visualization has been improved.

CMake サポートを使用している場合は、CMakeSettings.json ではなく、CMakePresets を使用して設定を指定できるようになりました。このフォーマットは、Visual Studio、Visual Studio Code、およびこの新しい標準をサポートするその他のツールで一貫しています。

Continue reading Visual Studio 2019 v16.10 and v16.11 Preview 1

.NET 6 Preview4関連リンクまとめ

Microsoft Build 2021まとめ関連

C#コーディングスタイルの話

公式ドキュメントでのC#のコーディングスタイルのガイドラインが変わったというので、喧々ガクガクです。

C# のコーディング規則 – C# プログラミング ガイド | Microsoft Docs

更新されたものが上になります。細かくいろいろと変わっていますが、話題になったのはprivate/internalフィールドの変数名に「_」をプリフィックスで付けるというものだったり、varの扱いだったりとか。「_」をプリフィックスで付けるというのは結構昔からあるルールで、ReShaperではデフォルトだったコーディングスタイルですが、嫌いな人は嫌いな模様。

今回の更新ですが、実際には以下の現状の.NET(.NET Core)プロジェクトでのコーディングスタイルガイドラインにあわせての更新になります。

https://github.com/dotnet/runtime/blob/main/docs/coding-guidelines/coding-style.md

これの.editorconfigは以下。

https://github.com/dotnet/runtime/blob/main/.editorconfig

また、このコーディングスタイルは.NETアナライザーのCodeStyle分析で使用されるコードスタイルになるはず。また、.NET Code Formatterツールでもこのスタイルが使用されます。あと、大事なことなので書いておきますがこのコーディングスタイルはStylecop Analyzerのコーディングスタイルとも違います。

個人的にはMSのルールとは違いすぎる昔のmonoのコーディング規約を知ってからは、個人的には、コーディングスタイルはプロジェクトごとにチームで決めれば良いと思っているので、チームで合意できれば何でも良いというのが僕の考えで、今回のこのコーディングスタイルは、チームが持っているコーディングスタイルの歴史的な経緯や合意をぶっ飛ばしてまで使うものでも無いと思います。その上で、今であれば、容易にそのルールに合わせられるように.editorcofigなど用意してチーム内でツールを使って統一しましょうよと言うぐらい。ただ、だるいので基本的にはVisual Studioの標準設定から無理に変えることも無いかなと言う感じではあります。また、ReSharper使っているところはReSharper先生にすべてを委ねるのが良いと思います。

ただ、どうして良いかわからないとか、チーム内でなかなか合意が得られないような場合には、.editorconfigも用意されているので、今回更新された標準を使ってみるのも悪くないかもですね。

.NET Framework 4.5.2, 4.6, 4.6.1 will reach End of Support on April 26, 2022

.NET Framework 4.5.2, 4.6, 4.6.1 will reach End of Support on April 26, 2022. Update your deployed framework runtime to a supported version.

情報源: .NET Framework 4.5.2, 4.6, 4.6.1 will reach End of Support on April 26, 2022

Memo.

結論から簡単に言うと、.NET Frameworkのアプリケーションは、4.8にアップデートする必要があります。なんなら.NET Coreや.NET 6への移行を視野に入れましょう。

 

C# 6.0がECMAでの標準化プロセス開始

The C# standards committee moved its work into Open Source, enabling C# developers worldwide to participate in the standardization effort.

情報源: Announcing Open Source C# standardization | .NET Blog

現状のECMA, ISO/IECのC#標準はC# 5.0ベースですが、「やっと」C# 6.0での標準化プロセスが始まるようです。まぁでも、国際標準化とはそう言うもので、逆に現行のC#仕様はC++でのBoostのようなものと言えるかもしれません。

ISO/IECの標準化など関係ないと考える人も多いとは思いますが、国際的な公共事業の入札案件などでは、開発言語、ランタイム環境がISO/IECへの準拠を求められることも多く、プログラミング言語の国際標準化は極めて重要です。またC#/CLIが国際標準であったからこそ、mono、UnityといったC#/.NETの広がりも生まれることが出来たのです。