ここ数日、.NET 6 でできたアプリを .NET 8 に更新する作業をしています。.NET 8 のリリースから半年以上が経った今になって遅ればせながらやっているのは、Azure Functions (In-Proc) がようやく .NET 8 に対応したからです。それに引っ張られてずっと .NET 6 のままの運用を強いられていました。 それはそれとして、近年の .NET は互換性を高く保ちつつもちょこちょこと破壊的変更を入れて「よりあるべき姿」になろうと奮闘しています。その点については大変好感を持っていますし、実際これまでに幾度となく .NET のバージョンを上げてきたときも全くと言っていいほど破壊的変更を踏むことがなかったので若干過信していたところはあります。 が、今回検証過程で実際に遭遇して「うわ、危なッ」となる部分があったので紹介していきます。 実際にハマッた破壊的変更 2 選
数年前からMicrosoftは、Windows onlyから脱却してマルチプラットフォーム戦略を打ち出しています。その戦略はデスクトップ向けのGUIアプリにもおよび、マルチプラットフォームで動作するアプリの開発ができる、さまざまなライブラリやフレームワークが提供されるようになってきました。本連載では、Windows環境におけるマルチプラットフォームGUI技術(.NET以外も含む)について、(主にC#の)サンプルコードを交えて解説します。 はじめに Windows環境で開発可能なマルチプラットフォームGUI技術を解説してきた本連載も、次回で最後になりました。最後は、Avalonia UIを紹介します。これまでと異なり、Avalonia UIは、マイクロソフトが関わったフレームワークではありません。とはいえ、.NET上で動作するオープンソースのフレームワークであり、幅広い環境に対応しています。
.NET 5以降のフレームワークでWindowsアプリ(以下、.NET Coreアプリ)を作成したとき、配布した実行可能ファイルが.NET Frameworkのときとは異なっている点を最近まできちんと把握していなかったので、忘備録代わりに投稿します。 .NET Coreアプリの2つの展開 .NET Coreアプリを配布する形式は2つの配置モード(展開形式)があります。 例として、hogehogeというアプリ名のアプリを配布する場合について考えてみましょう。 フレームワーク依存 フレームワークに依存するという名称から、配布先のフレームワークがx86かx64かなど配布先の環境を意識しないといけないように思えますが、そうではありません。 このファイル形式の良い点は2つ 配布ファイルはx86/x64の区別がない(1つだけ例外あり) 配布するファイルに.NETランタイムは入らないのでコンパクト(配布
こんにちは、たびとです。 .NET Framework の頃は WCF(Windows Communication Foundation) を使っていましたが、 .NET 6 では使えず、gRPC が推奨されいるようです。 今回は、Windows の .NET 6 で gRPC アプリを作成し、 localhost ではなく IP アドレスを指定してアクセスしてみます。 この記事の対象者 gRPC サーバ プロジェクトの作成 ソースコード GrpcGreeter の実行 gRPC クライアント プロジェクトの作成 IPアドレス取得 ソースコード GrpcGreeterClient の実行 Log2Console を使った確認 まとめ 参考サイト この記事の対象者 gRPC により HTTP/2 通信 (現在 HTTP/3 はプレビュー機能) アプリを作ってみたい。 WCF アプリを作ったこ
その本の「はじめに」には、著者の「伝えたいこと」がギュッと詰め込まれています。この連載では毎日、おすすめ本の「はじめに」と「目次」をご紹介します。今日は増田智明さんの 『.NET MAUIによるマルチプラットフォームアプリ開発 iOS、Android、Windows、macOS対応アプリをC#で開発』 です。 【はじめに】 スマートフォンのアプリケーションを作る際に、真っ先に考えるのはiOSとAndroidのアプリケーションを順番に作るのか、それとも同時に作るのか、という選択でしょう。iOSアプリの開発者であればSwiftやObjective-Cを得意とし、Androidアプリの開発者であればJavaやKotlinを第一言語としているでしょう。アプリを作るときにその動作環境(OSやユーザーインターフェイスなど)に適したプログラム言語を選び、それを学ぶ必要があります。iOSやAndroidd
アプリケーション開発者はシグネチャを見て、このルールに従っていると仮定します。例えば、ライブラリに同期メソッドがあれば、利用者側はスレッドプールを使って安全に並列化できると仮定できます。しかし、非同期であれば、スレッドを新しく生成するのは無駄で、シングルスレッドのループの中で非同期メソッドを実行するほうがいいと判断するでしょう。 このように考えると、さらに基本的な原則が生まれます。 “ライブラリ内でTask.Runを使わない” スレッド、特にスレッドプールのスレッドはグローバルに共有されているリソースで、アプリケーション開発者に属しています。ライブラリの作者はTask.Runを使ったり、スレッドを作るメソッドを作成するべきではありません。どのようなタイミングでスレッドを追加するか決めるのはアプリケーション開発者の権利と責任です。 次のコードは典型的なアンチパターンです。 public st
https://docs.microsoft.com/ja-jp/dotnet/machine-learning/how-does-mldotnet-work ML.NET を使用すると、オンラインまたはオフラインのどちらのシナリオでも、.NET アプリケーションに機械学習を追加できます。 この機能により、データを使った自動予測をアプリケーションで利用できるようになります。ML.NET を使うためにネットワークに接続する必要はありません… 要するに .NETアプリケーションに機械学習の機能を追加 オンライン、オフラインどっちも大丈夫だけどオフライン対応すればネットワークは気にしなくてもいい 32bitアプリも大丈夫 ただし、Tensorflow、LightGBM、ONNXに関連する機能は使えない って感じ。 現状、ディープラーニングの機能をエコシステム、特にデスクトップアプリに組み込むには
今日はリソースを使い、exeにファイルを埋め込む/使用する方法メモです。 僕自身、よくExcelの雛形やXMLの設定ファイルを埋め込んだり、読み込んだりします。 「Excelの雛形をexeに埋め込み、出力する時にそこから使用する」というサンプルを作ります。 事前準備とVisualStudioの設定 まずexeに埋め込むための、空のExcelファイル(以下Book1.xlsxとする)を作成しておきます。 ここからはVisualStudioでの設定です。 プロジェクトを右クリックしてプロジェクトのプロパティを表示します。 「リソース」を選択し、「リソースの追加」の右の▼ ⇒ 「既存のファイルの追加」をクリックします。 あらかじめ用意しておいた「Book1.xlsx」を選択します。 「Book1.xlsx」がリソースに追加されます。 デフォルトでは↓のように プロジェクト\Resources に
オープンソースでクロスプラットフォーム対応のペイントアプリ「Pinta v2.0」がリリースされています。詳細は以下から。 Pintaは元Novellで現在はMicrosoftのソフトウェアエンジニアを務めるJonathan Pobstさんが2010年にPaint.Netをベースに開発したオープンソース&クロスプラットフォーム対応のペイントツールで、現在はPintaProject Teamによってメンテナンスが行われていますが、このPintaのメジャーアップデートとなる「Pinta 2.0」が新たにリリースされています。 Pinta 2.0 This is a major new release of Pinta, which has now been ported to GTK 3 and .NET 6! リリースノートより抜粋 Pinta 2.0はGTK 3と.NET 6へ移植され、W
CodePlex に置いてあった .NET Framework 3.0 時代に書かれたアプリケーションを、GitHub に移行しつつ .NET 5 で動くように 2 週間ぐらい頑張った話を書きます。正直なところ 12 年前に書かれたコードを何とかするのはめっちゃ大変でした。 今回コードの改善を頑張ったので色々な実験場としても使えるようにしています。特に GitHub 周りは新しい機能を使ってみるようにしています。 .NET Framework 3.0 時代に書かれたコードを何とかするのが本当に大変だった(まだ何とか出来てない https://t.co/u5SrISQRCL— Tatsuro Shibamura (@shibayan) 2021年5月9日 実際には .NET 5 で動くようにはなっていますが、中身は古臭い実装がたくさん残っているので、ツイートの通り全然何とかなっていない状況で
そのときの文脈から何を指すか判断する必要がある 「.NET」という言葉 前回Project Reunionの話をしたので(「UWPとデスクトップアプリの統合を試みる「Project Reunion」のプレビュー版が登場する」)、ここであらためて「.NET」についてまとめておきたい。 .NET Coreのマスコット「dotnet bot」。ちょっと「かわいさ」が足りない感じだが、githubの登録ユーザーでコードをコミットしている(https://github.com/dotnet-bot より引用) Windows関係で「.NETなんとか」という言葉を聞いたことがあるだろう。「.NET」とは、Microsoftが開発・提唱した「アプリケーションの実行環境」である。実行環境とは少し抽象的だが、API(Application Programming Interface)やライブラリなどと呼ばれ
現時点で.NET5について分かってきたこと、感想を簡単にまとめる。 .NET Core 3でWinFormが使えるという話は「馬鹿野郎」レベルで夢想的なものであり、これでもう.NET Frameworkは要らないという主張する者は相手にする意味すらなかった。しかし、.NET 5では最低限の入口ぐらいは入れた.NET 5のデスクトップ開発はMAUIではなく、Windows専用。まだマルチプラットフォームではない。MAUIは.NET6待ち.NET 5は約束の地ではなかったが、そこを目指していることは分かった。たぶん、.NET 6から7ぐらいではそこそこの線まで行けそうな気もする現在の問題はそこではないことが分かってきた。電子署名がない実行ファイルはインストールしても実行時に警告が出る模様。(何回かで消える模様)実行ファイル(インストーラー含む)のダウンロードは電子署名があってもダウンロード数が
.NET開発者がよく使うサイト、本当に使えるサイト【2016年度版】:特集:.NET開発者のためのオンラインリソースガイド(1/2 ページ) Web上には.NET関連サイトが数え切れないほどたくさんある。その中でも.NET開発初心者がまずは押さえておきたいWebサイトを厳選してまとめた。 本稿は、これから.NETでプログラミングを始めようとしている方や、新しく.NETでの開発に携わることになった方に贈るオンラインリソースガイドの2016年度版である。インターネット上に数ある.NET関連サイト/プログラミング関連サイトの中で、.NET開発者がまずは押さえておくべきWebサイトについてまとめている。 本稿がまとめているサイト&ジャンル分けについて .NET開発者がよく利用するサイトの代表は、やはり.NET Framework & Visual Studioを提供するマイクロソフトのサイトだろう
4. XAML(Extensible Application Markup Language)XAMLとは、MSの開発した、多数のオブジェクトの状態と関係をテキストで記述するためのXMLみたいなもの。主に、UIのデザインで使われる。(WPF、 Silverlightなど)複数のオブジェクトの記述をコピペできるのが強み。親子関係の入れ替えとか、コードとして書くとすごく面倒。それがコピペで済むなんて。C#4.0からSystem.XAML空間が追加され、UIだけのものでもなくなった。(はず)そんなに使われていない?オブジェクトの状態保存には便利。Webスクレイピングは動作の組み合わせなので、XAMLとの相性はいい。Visual Studioは優秀なXAML編集ソフトである。インテリセンスも使える。そのため、このフレームワークには、Visual Studioが必要。優秀なXAML編集コントロールが
連載:簡単! Visual Studio 2015入門 かわさき しんじ&Insider.NET編集部
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く