rksoftware

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

.NET

C# の実行環境 (入門者向け概要)

C# では主に Windows、Linux、Mac、Android、iOS (iPhone) で動作するアプリが作れます。 その他にも動作する環境はありますが、難しい話になります。この記事は入門者向けということで、話の難しい環境は割愛します。 モバイル および ゲーム Android、iOS …

.NET 5 の確認「単一ファイルの配置と実行可能ファイル」

■ .NET 5 の単一ファイルの配置と実行可能ファイル ドキュメントはこちら .NET Core 3.1 までは単一ファイルとはいうものの、自己展開形式書庫ファイルのようなものでした。実行時に OS の Temp フォルダに必要なファイルが展開されるというものでした。 こ…

みんな大好き ClickOnce が帰ってきた!

みんな大好き ClickOnce が .NET 5 で使えるようになると聞いて早速確認してみました。 ※ Visual Studio 2019 のプレビュー版です。 ※ .NET Core 3.1 で使えました。 ■ 確認環境 Visual Studio 2019 のプレビュー版をインストールしました。.NET 5 は追加で…

WPF プロジェクトテンプレートの名前

もうすぐ .NET 5 ですね。最近は私も .NET 5 RC 2 を使える Visual Studio のプレビュー版をさわっています。 というか実は今更さわり始めました。で、いきなり小さなことなのですが Windows デスクトップアプリのプロジェクトテンプレートの名前が少し変わ…

.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 してみました。 ■ ジャパニーズ ビジネスパーソン エンジニア は忙しい 注目を集めていますが、実際に触って…