rksoftware

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

.NET

.pdb ファイルを生み出さない

.NET ではビルドするとバイナリに拡張子 .pdb なファイルが生まれます。 例、コンソールアプリ .pdb なファイルが生まれている ■ .pdb ファイルを生まない Visual Studio でプロジェクトのプロパティで設定を変更します。 プロジェクトのプロパティ ビルド >…

.NET Core 3.0 の Publishing Single EXEs を試してみた

.NET Core 3.0 Preview 5 が案内されました。 この中で「Publishing Single EXEs」という項目がとても気になったので早速試してみました。 ■ コマンド >dotnet publish -r win10-x64 /p:PublishSingleFile=true と記事によると書くと良いらしいです。今回は …

Web サーバー 'IIS Express' に接続できませんでした。

ある時、何もしてないのに Web サーバー 'IIS Express' に接続できませんでした。 とエラーが表示され、ASP.NET プロジェクトがデバッグできなくなりました。 このエラーの原因と対する対処は多くあるようなので今回はその一つということになります。 ■ 何も…

Microsoft Learn でクライアントアプリや Web アプリを学べそうなもの

(2019/03/30 時点です) コンテンツは日々増えているようなので、これを読んでいるときには状況も変化しているかもしれません。 ■ Microsoft Learn オンラインでマイクロソフトのプロダクトを無料で学べます。 2019/03/30 時点で 360 の学習内容があります。…

dotnet core のインストールされていないない環境でも動作する dotnet core アプリケーションを作る

■ 結論 ・Windows 向けにはコンソールで次のようにタイプして発行します。 >dotnet publish -c Release --self-contained true -r win-x64 ・Linux 向けには >dotnet publish -c Release --self-contained true -r linux-x64 ・mac 向けには >dotnet publish…

.NET でのディレクトリの扱い方

.NET/C# でファイルパスを扱う次のようなコードを見たことは無いでしょうか? string directory = "directory1\\directory2\\"; string filename = "filename.ext"; string combined = ""; if (directory.EndsWith("\\")) { combined = directory.Substring(…

ClosedXML で作った Excel ファイルで DioDocs を試すライブラリを作りました

先日、ClosedXML で作った Excel ファイルが DioDocs で扱えない というタイトルの記事を書きました。 この組み合わせの環境で試すたびに、変換するのも面倒なので変換するライブラリを作りました。 大分雑な処理をしていますが、とりあえず試すのには使えて…

ClosedXML で作った Excel ファイルが DioDocs で扱えない

.NET では ClodesXML というライブラリで Excel ファイルを作ることができます。 他にも .NET で Excel を扱うライブラリとして、最近注目の DioDocs があります。 DioDocs について詳しくは次の素晴らしい記事を読んでください。 このブログでも、何度か試…

.NET Core デスクトップアプリケーションで DioDocs で作った PDF 帳票を印刷する

.NET Core 3.0 で Windows デスクトップアプリ(WPF/WinForms)が .NET Core で作れるようになりました。 しかし、実際にデスクトップアプリを作る際には様々なライブラリを導入することが多いものです。その中でもいわゆる帳票出力コンポーネントは日本では非…

.NET Core デスクトップアプリケーションで PDF 帳票を画面表示する

.NET Core 3.0 で Windows デスクトップアプリ(WPF/WinForms)が .NET Core で作れるようになりました。 しかし、実際にデスクトップアプリを作る際には様々なライブラリを導入することが多いものです。その中でもいわゆる帳票出力コンポーネントは日本では非…

.NET Core デスクトップアプリケーションから DioDocs を使って帳票を PDF 出力する

.NET Core 3.0 で Windows デスクトップアプリ(WPF/WinForms)が .NET Core で作れるようになりました。 しかし、実際にデスクトップアプリを作る際には様々なライブラリを導入することが多いものです。その中でもいわゆる帳票出力コンポーネントは日本では非…

XAML Islands の MediaPlayerElement 使用時に動画の再生が始まらない (WinForms)

Windows フォームアプリケーションで XAML Islands の MediaPlayerElement を使用している場合に、AutoPlay プロパティを True に設定していても動画の再生が始まらないことがありました。 ■ 原因? MediaPlayerElement の AutoPlay プロパティのプロパティ …

XAML Islands の MapControl 使用時に InvalidComObjectException 例外 (WinForms)

Windows フォームアプリケーションで XAML Islands の MapControl を使用している場合に、 System.Runtime.InteropServices.InvalidComObjectException 基になる RCW から分割された COM オブジェクトを使うことはできません。 という例外が発生することがあ…

XAML Islands の Windows Community Toolkit でラップされたコントロール (WinForms編)

XAML Islands についての公式ドキュメントの ラップされたコントロール というセクションで 6 つのコントロールが挙げられています。 ラップされたコントロール WebView WebViewCompatible InkCanvas InkToolbar MediaPlayerElement MapControl これらのコン…

XAML Islands の Windows Community Toolkit でラップされたコントロール (WPF編)

XAML Islands についての公式ドキュメントの ラップされたコントロール というセクションで 6 つのコントロールが挙げられています。 ラップされたコントロール WebView WebViewCompatible InkCanvas InkToolbar MediaPlayerElement MapControl これらのコン…

XAML Islands でコントロールを一通り表示してみる

XAML Islands で全ての UWP コントロールは使えなさそうな雰囲気だったので、Windows.UI.Xaml.Controls 名前空間のそれらしいクラスを画面に配置してみました。 UWP のコントロールは 100 以上あるらしく全ては把握押していないので画面に配置してエラーにな…

XAML Islands で InitializeForCurrentThread メソッドが必要なパターン

以前に XAML Islands で UWP のコントロールを生成する場合、その前に global::Windows.UI.Xaml.Hosting.WindowsXamlManager.InitializeForCurrentThread(); の一文が必要らしいけれど、実際書かなくても大丈夫だったと書きました。 今回この一文を書く必要…

XAML Islands で表示スケールに対応する

WPF で XAML Islands を使う際に表示スケールがまだサポートされていないことを以前書きました。 まだサポートされていないと言われているのでそれまで。サポートを待てばよいのですがどうにも辛抱たまらんので頑張ってみました。 ■ 表示スケール ハードウェ…

WPF や Windows フォームアプリケーションで最新機能に対応する XAML Islands (目次)

Windows 10 October Update (Version 1809) で XAML Islands という機能が使えるようになりました。Windows 10 の UI コントロール (UWP のコントロール) が WPF や Windows Forms アプリケーションで使える夢の機能です。 詳細は公式ドキュメントへ XAML Is…

.NET Core 3.0 でデスクトップアプリを作る (目次)

.NET Core はバージョン 3.0 の新機能として Windows デスクトップ アプリケーションをサポートします。まだ Preview ではありますが、ビルドして実行できます。 この記事は、いくつか実際に試してみた記事の目次です。 ■ 2018年10月頃 この頃に .NET Core 3…

XAML Islands の使用時に表示が思い通りにならなかった件について

先日、WPF アプリケーションでの XAML Islands を試す記事を書きました。 その中で、レイアウトが思った通りに表示されないという場面がありました。 期待した表示 実際の表示 ■ 再現方法 Windows の表示スケールを変更します。 期待した表示 はスケール100%…

もう一つの XAML 諸島のコントロールの設定方法 (WPF編)

先日、WPF アプリケーションでの XAML Islands を試す記事を書きました。 しかしこの方法だと、使う UWP のエレメント名を文字列で指定せねばならず、プロパティも ChildChanged イベントでの設定になます。また階層化された複数のエレメントを配置するなど…

WPF アプリケーションで最新機能に対応する XAML Islands

Windows のバージョン 1809 で XAML Islands (MS のドキュメントの翻訳では XAML 諸島) という機能が使えるようになりました。 Windows 10 の UI コントロール (UWP のコントロール) が WPF や Windows Forms アプリケーションで使える夢の機能です。 詳細は…

もう一つの XAML 諸島のコントロールの設定方法

先日、Windows フォームアプリケーションでの XAML Islands を試す記事を書きました。 しかしこの方法だと、使う UWP のエレメント名を文字列で指定せねばならずプロパティも ChildChanged イベントでの設定になります。また階層化された複数のエレメントを…

XAML 諸島を使った際にエラーが発生する場合

XAML Islands を試している際に次の例外が出ることがありました。 Microsoft.Windows.Interop.UWPTypeFactory: Could not create type: XXXXXXXXXX 原因は、InitialTypeName の設定ミスです。 このプロパティには 使うエレメントの名前を正確に (例えば "Win…

Windows フォームアプリケーションで最新機能に対応する XAML Islands

Windows のバージョン 1809 で XAML Islands (MS のドキュメントの翻訳では XAML 諸島) という機能が使えるようになりました。 Windows 10 の UI コントロール (UWP のコントロール) が WPF や Windows Forms アプリケーションで使える夢の機能です。 詳細は…

Windows フォーム手書き時の注意 AutoScaleDimensions 設定

前回、Windows フォームアプリケーションで、Form.Designer.cs ファイルを手編集する記事を書きました。 その中で一点、良く知らなくてコメントにしてごまかした行がありました。 // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(12F, …

デザイナがなくても問題なし .NET Core 3.0 で Windows フォームアプリケーションを作る

.NET Core 3.0 で Windows フォームアプリケーションを作るには、.NET Framework と同じようにまずプロジェクト(ソリューション)を作ります。 .NET Core 3.0 用のフォームのデザイナがないことが話題ですが、大丈夫です。対策となる大きく2つの手法をこの記…

.NET Core 3.0 デスクトップアプリプロジェクトがビルドできない

.NET Core 3.0 のデスクトップアプリが次のコンパイルエラーでビルドできなくなることがあります。 重大度レベル コード 説明 プロジェクト ファイル 行 Suppression State エラー MC1003 Project file cannot specify more than one ApplicationDefinition …

.NET Core 3.0 デスクトップアプリプロジェクトが Visual Studio 2019 で開けない

.NET Core 3.0 のデスクトップアプリが Visual Studio で開けなくなることがあります。 ■ 原因 今回開けなくなった原因は、最新の Preview 版で .csproj のフォーマットが変更されたことでした。 以前の alpha バージョンの .NET Core 3.0 で作成した .cspro…