rksoftware

Visual Studio とか C# とかが好きです

.NET

.NET 5 の RC 2 が出ています

.NET 5 の RC 2 が出ています。 早速ダウンロードして試してみようと思いました。 ダウンロードする前に、まず現状の確認をと思いバージョンを確認してみます。 > dotnet --version 5.0.100-rc.2.20479.15 既に RC 2 でした。いつの間に。 ダウンロードサイ…

.NET 5 プロジェクトの TargetFramework

以前に dotnet コマンドで .NET 5 のデスクトップアプリのプロジェクトを作る記事を書きました。 その際は、.csproj ファイルの TargetFramework が net5.0-windows になっていなした。この辺りは後日また見てみるとしていました。 今回は、この辺りを見てみ…

dotnet コマンドで .NET 5 のデスクトップアプリのプロジェクトを作る

以前に dotnet コマンドで .NET 5 のコンソールアプリのプロジェクトを作ってみました。 今度はデスクトップアプリのプロジェクトを作ってみます。 ■ コンソールアプリのプロジェクト ファイル コンソールアプリの場合のプロジェクト ファイルは次のようにな…

dotnet コマンドで .NET 5 プロジェクトを作る

以前に .NET 5 を試してみる記事を書きました。 その際は、Visual Studio 2019 Preview でプロジェクトを新規作成しプロジェクト ファイルを編集して .NET Core 3.1 のプロジェクトを .NET 5 にしました。 今回は dotnet コマンドでプロジェクトを作って観た…

プロジェクト ファイルを編集して .NET 5 プロジェクトにする

以前に .NET 5 を試してみる記事を書きました。 その際は、Visual Studio 2019 Preview の GUI でポチポチして .NET Core 3.1 のプロジェクトを .NET 5 にしました。 今回は、プロジェクト ファイルを直接編集して .NET 5 プロジェクトにしてみます。 ■ プロ…

.NET 5 の WinForms で 表示が崩れる場合

.NET 5 の WinForms でプロジェクトを新規作成し設定を変えずに Form にコントロールを置いて実行すると高 DPI 環境で表示が崩れます。 ■ 表示例 .NET Core 3.1 の場合 .NET 5 の場合 ■ 対応方法 app.manifest ファイルを作成します。 ソリューションエクス…

Visual Studio 2019 Preview 版 をインストールする

先日 .NET 5 を試してみる記事を書きました。 しかしなんと! 大事な Visual Studio の Preview 版のインストールについて書いていなかったので追加で書いておきます。 ■ Visual Studio の Preview 版 をインストールする Visual Studio 2019 の Preview 版…

.NET 5 RC 1 をインストールする

先日 .NET 5 を試してみる記事を書きました。 しかしなんと! 大事なインストールについて書いていなかったので追加で書いておきます。 ■ .NET 5 をインストールする 今現在は SDK 5.0.100-rc.1 という RC 1 版があるので、こちらをインストールします。次の…

.NET 5 を RC1 版で動かしてみる

みなさんお待ちかねの .NET 5 のリリースが迫っています。もう少しだけ待ちの日々ですが .NET 5 の RC1 版が公開されて動かすことができます。 そこで、実際に環境を整えて動かしてみましょう。 ■ 用意するもの Visual Studio 2019 の Preview 版をインスト…

Uno Platform が VSCode でデバッグできるらしいので試してみた 目次

Uno Platform が VSCode でデバッグできるらしいので試してみています。 ちょっと横道にそれたりなどしながら見ているのでまだ全然進んでいませんが少しずつ見て行きます。 Uno Platform 本家の記事へのリンクです。 ■ Uno Platform が VSCode でデバッグで…

Uno Platform が VSCode でデバッグできるらしいので試してみた その3

つづき 前回まででひとまずプロジェクト (ソリューション) が生まれたので実行して行きたいと思います。まずは、今回の元記事の本体である、Visual Studio Code での Wasm。Windows で行ってみます。 ■ ソリューションを VSCode で開く (Windows) コマンドプ…

Uno Platform が VSCode でデバッグできるらしいので試してみた その2

つづき ■ プロジェクト新規作成! 記事にしたがって、プロジェクトを新規作成は次の様でした。 dotnet new unoapp -o MyApp -ios=false -android=false -macos=false -uwp=false --vscodeWasm この時に大量についているオプション。明らかに対象プラットフォ…

Uno Platform が VSCode でデバッグできるらしいので試してみた その1

Uno Platform が VSCode でデバッグできるらしいので試してみています。 ちょっと横道にそれたりなどしながら見ているのでまだ全然進んでいませんが少しずつ見て行きます。 Uno Platform 本家の記事へのリンクです。 対応は WebAssembly だけとのことですが…

Uno Platform アプリを Mac と 上の VM 上の Windows で作りたい

Uno Platform は Android と iOS と UWP と Wasm のアプリを作れる夢のプラットフォームです。 そしてどんなクロスプラットフォーム開発でもそうであるように、実際の開発では一つの環境で全てのデバッグを行うことは困難です。 ※ Windows から Mac へ接続し…

C# でクラスがとあるインタフェースを実装しているかを調べる

C# でクラスがとあるインタフェースを実装しているかが知りたくなることが、稀に良くあります。 ■ Type.GetInterfaces メソッドの結果に Contains メソッド クラスが実装しているインタフェースのリストは Type.GetInterfaces メソッドで簡単に取得できます…

C# でクラスが実装しているインタフェースを取得する

C# でクラスがどのインタフェースを実装しているかが知りたくなることが、稀に良くあります。 ■ Type.GetInterfaces メソッド Type.GetInterfaces メソッドで簡単に取得できます。 ■ 実例 namespace ConsoleApp1 に次のインタフェースとクラスがあるものとし…

C# で参照で追加したプロジェクトのクラスが見つからない

少し詳しく表現すると、参照で追加したプロジェクトのクラスの定義されている Assembly (追加したプロジェクト) がロードされていない、です。 例えば次のように ClassLibrary1 プロジェクトを参照しているものとします。 <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp3.1</TargetFramework> </PropertyGroup> <ItemGroup> </itemgroup></project>

C# で現在読み込まれている Class を取得する

C# で現在読み込まれている Class を取得したいことが良くあります。 ■ 前提知識 以前に書いた次の「C# で現在読み込まれている Assembly を取得する」記事が前提です。 ■ コード 解説するよりコードが速いでしょう。 Console アプリを作成して Class の Typ…

C# で現在読み込まれている Assembly を取得する

C# で現在読み込まれている Assembly を取得したいことが良くあります。 ■ コード 解説するよりコードが速いでしょう。 Console アプリを作成して Assembly を表示するコードです。 AppDomain.CurrentDomain.GetAssemblies() 取得コード(例) foreach (var as…

C# で DLL をファイル名で読み込む

DLL をファイル名で動的に読み込みたいことはあまりないかもしれませんが、ない事もない要件です。 ■ Assembly.LoadFrom(string) メソッド Assembly.LoadFrom(string) メソッドで読み込めます。 引数の string は dll の拡張子まで含めたパスです。 こんな感…

C# 文字列を連続で結合するときの + と StringBuilder の速さ

以前に文字列を + で結合する場合と StringBuilder で Append する場合どちらが速いかという話をどこかで見た記憶があります。その記憶では 10 回くらい結合するなら StringBuilder、それ未満なら + が速いとされていた気がします。 今、試したらどうなるか…

Uno Wasm を IIS で動かす

Uno Wasm を IIS で動かそうとするとエラーになって動きませんでした。 エラーの内容 HTTP Error 500.19 - Internal Server Error The requested page cannot be accessed because the related configuration data for the page is invalid. Detailed Error …

UWP で XAML で ViewModel を指定する

UWP で XAML で ViewModel を指定する際に WPF とほんの少し違ったので。 ■ WPF の場合 ViewModel のクラスが名前空間 WpfApp1.ViewModels に MainPageViewModel として作っているとします。その場合 XAML で Window の属性に xmlns:vm="clr-namespace:WpfAp…

Uno Platform が MSB4018 エラーでビルドできない

Uno Platform が MSB4018 エラーでビルドできないことがありました。 発生条件 プロジェクト作成後、ビルド wasm プロジェクト オフライン 発生するエラー エラー MSB4018 "UnoInstallSDKTask_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" タスクが予期せず…

Uno Platform でページを追加する (mac)

Uno Platform は Windows の Visual Studio でなら簡単にページを追加できます。 しかし、残念ながら mac では GUI でポチポチしてページを追加することはできそうにありません。 ■ ポチポチできないなら Uno Platform でアプリを作る際のソースコードはテキ…

Uno Platform で Hello world サンプルを GitHub に作りました。

■ Uno Platform で はろーわーるど 最近 Uno Platform がスゴイ注目を集めています (私調査)。 そこで先日頑張って、Uno Platform で Hello world してみました。 ■ ジャパニーズ ビジネスパーソン エンジニア は忙しい 注目を集めていますが、実際に触って…

Uno Platform ふたつの空白のページ

Uno Platform で遊んでいたらフシギなことに気が付きました。 ■ 不思議画像 何が不思議か? 項目を上から見てみましょう! 一つ目は、「 空白のページ 」。二つ目は、「 空白のページ 」。 逆にしてみましょう。 二つ目は、「 空白のページ 」。一つ目は、「…

Uno Platform で はろーわーるど 目次

Uno Platform を環境構築から C# 世界に挨拶するコードを書いて、Uno Platform を完全に理解することを目指す一連の記事です。 ■ 環境構築 ■ プロジェクト(ソリューション)の新規作成 ■ イベント処理と画面更新 ■ データバインディング ■ リスト表示と画面遷…

C# で定義が未知の Json を扱う (.NET Framework / .NET Core) まとめ

以前に書いた一連の記事をまとめた記事です。 C# で定義が未知の Json を扱う (.NET Framework / JObject) - rksoftware C# で定義が未知の Json を扱う (.NET Framework / ExpandoObject) - rksoftware C# で定義が未知の Json を扱う (.NET Core / System.…

C# で定義が未知の Json を扱う (.NET Core / System.Text.Json / System.Dynamic.ExpandoObject)

未知の Json を扱う一連の記事をまとめた記事を書きました。 こちらの記事で一気読みできます。 ■ 現行世代の Json API / System.Text.Json Json を扱う際には .NET Framework 時代には Json.NET というライブラリがよく使われていました。今の時代 (.NET Co…