.NET Framework
Visual Studio Installer Projects拡張機能を使用すると、インストーラーを作成するためのプロジェクト(Setupプロジェクト)を作成できるようになる。 アプリケーションを更新するたびに、古いバージョンをアンインストールして、新しいバージョンをインス…
WPFアプリケーションで、別スレッドから画面を更新したい場合は、DispatcherクラスのInvokeメソッドに、引数としてメソッドを渡して、UIスレッドで実行されるようにします。 ググってみると、DispatcherクラスにはInvokeメソッドの他に、BeginInvokeメソッド…
過去記事の Prismを使用したWPFアプリケーションのまとまったサンプルを作ってみた - redwarrior’s diary や、 WPFアプリのMainWindowの終了のキャンセルを、MVVMフレームワークを使用して実装する - redwarrior’s diary で使用している、prism:InvokeComman…
ProgressBarの表示って、非同期処理が入るので、意外と難しいですよね。 表示の仕方は、以下のサイトで分かりやすく説明されているのですが、素のWPFなのです。 anderson02.com どうせならば、MVVMアーキテクチャで実装したいなと思いやってみました。 まず…
過去の記事でサーバ側のアプリケーション(Web API)について書きましたが、クライアントアプリケーションを新しく作ることになりました。 redwarrior.hateblo.jp Visual Studio 2015で開発するならば、特に困らないのですが、Visual Studio 2019で開発した…
Visual Studioの ファイルのプロパティ のビルド アクションの値で「コンテンツ」と「なし」の違いを調べました。 Visual Studio上でファイルを選択して ファイルのプロパティ に表示される項目のうち、出力ディレクトリにコピー は、値を「常にコピーする」…
タイトルの内容をやりたい人はあまりいないと思いますが、必要になったので調べました。 以下が作業手順になります。 .NET CoreのWPFアプリケーション、.NET Frameworkのコンソールアプリケーションプロジェクトをソリューション内にそれぞれ作成します。 WP…
一つ前の記事で、サブウィンドウでもMainWindow(親ウィンドウ)と同一のRegionManagerを使用するように設定した。そうしたら、新たな問題が発生した。 サブウィンドウを閉じて、また開くとエラーが発生する サブウィンドウでもMainWindow(親ウィンドウ)と…
Prismを使用したWPFアプリケーションを開発していて、サブウィンドウでRegionを使用した場合に発生したエラーと対処方法 次の画面に遷移できない 現象 Regionを使用した画面遷移 ウィンドウのXAMLにRegionを設定し、コードビハインドで、IRegionManagerイン…
前提のはなし WPFでマスクのついたテキストボックスを作成するには、PasswordBoxというコントロールが用意されている。 PasswordBoxに入力した値は、string型のPasswordプロパティから取得できるが、セキュリティ上はSecureString型のSecurePasswordプロパテ…
少し前にソースコードの修正や、ビルド定義の編集をしていないのに、TFSのビルドが失敗するようになっていたので調査しました。 エラーメッセージ MSBuild auto-detection: using msbuild version '16.5.0.12403' from 'C:\Program Files (x86)\Microsoft Vi…
背景 この間、ClickOnceの発行をする時に、使用したコード署名証明書(コードサイニング証明書)をPCの証明書ストアにインストールしたので、 .NET Coreアプリケーションの配布形式であるMSIXでも試してみました。 MSIX形式で配布する方法を調べると、以下の…
NuGetでSystem.Data.SQLiteパッケージをインストールし、以下をApp.configに追加する。 <entityFramework> <providers> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> </provider></providers></entityframework>
少し前に作成したWPFアプリケーションは、対象OSとしてWindows 8.1も含まれるため、フレームワークとして.NET Framework 4.5.1を使用しました。 Webアプリ(ASP.NET MVC)は、TFS上でビルド(XAMLではない)、リリースが出来るようにしたので(下記参照) redw…
WPFアプリケーションで、自作のボタンを押して画面を閉じて、新しい画面を表示する処理をMVVMフレームワークを使用して実装する方法を調べました。 MVVMフレームワークは、Prismを使用します。 自作のボタンを押して画面を閉じる 自作のボタンを押して画面を…
WPFアプリケーションで、×ボタンを押してメイン画面を閉じるときに、ある条件を満たす場合は閉じないようにしたい場合があります。言い換えると、終了のキャンセルをしたい場合があります。 コードビハインドを使えば、簡単に実装する事が出来ますが(参考: …
タイトルでやりたい事を伝えきったので、やり方を説明します。 ClickOnceの更新方法は、探せば見つかると思いますので割愛します。 参考:ClickOnce に関するまとめ - Qiita ClickOnceによる更新は、アプリケーションを再起動しないと行われません。 なので…
課題 バリエーションエラー 一つ前の記事で、第5回のエラー処理のサンプルを作成した時に、バリエーションによるエラーメッセージを表示した状態で、一覧から別の項目を選択すると、Viewが切り替わり、右側に新しい画面が表示される。 その後、元の項目を表…
新しく作成するアプリケーションで、Windows Forms、WPFで開発するか悩んでいるチームがあったので、 説明用にWPFのサンプルを作成したが、お披露目する前にWindows Formsで開発する事に決まったようなので、勿体無いのでこちらで公開しようと思う。 サンプ…
Windowsフォームでデータバインディングを行う場合に、BindingSource、IDataErrorInfo、ErrorProvider、null値の制御についての有用なリンク集。 サイト WindowsFormsでの単項データバインドまわり | tocsworld IDataErrorInfo Interface (System.ComponentM…
以前にWindowsフォームで作成したアプリケーションを修正する機会があり、BindingSourceについて理解が深まったので、記録を残しておく。 「TextBoxに入力した値をバリデーションして、正しい値ならば紐づいたDBのレコードを更新する」というよくある処理を…
NPOIを使用してExcelを読み込む処理を作成したので、後から見返せるように気づいたことをメモしておく。 確認したバージョン:.NET Framework 4.6、NPOI 2.3.0 Excelのセルの値を取得する場合は、以下のようにまずICellインスタンスを取得する。 //sheetは、…
なぜEPPlusを直接使わないかは、過去の記事を参照。 redwarrior.hateblo.jp NPOIを直接使うと、同じようなコーディングを繰り返し行う事が結構あったので、拡張メソッドを作成しました。 EPPlusを参考にしたメソッドや、あると便利そうなメソッドを作りまし…
IEnumerableインターフェイスのAnyメソッドを使用した時に、変数の値がnullでエラーになった。Anyメソッドは拡張メソッドなので、変数がnullでエラーになるのはおかしいのでは?と思ったが、答えは意外なところに。
Chaining Assertionでは、Parameterized Testがサポートされているが、テストが失敗した時のメッセージにはどのケースで失敗したかの情報は含まれていないため、多くのテストケースを試す場合は以下のように工夫すると良い感じです。 //公式サンプルコードを…
C#(ASP.NET MVC)でExcelファイルを扱う方法を調べていて、EPPlusが良さそうだったので簡単なプログラムを作成して動作を確認した。しばらく経って実際に使用する時になって、ファイル形式が .xls であることが判明。 EPPlusでは .xls のファイルは読み込め…
メモ:TFS 2017は、NuGetサーバーをローカルで建てることが出来るらしいので、そちらを使った方がディスク容量の節約になると思いますし、そちらを使いましょう。 TFS 2015から新しいビルド方式が用意されて、TFS 2017もリリースされ、今後あまり使われなく…
ASP.NET MVC アプリケーションを別サーバーにデプロイして動作確認しようとしたが、DBやフォルダへのアクセス権限でエラーが発生しました。以前に設定したのが少し前で、やり方を忘れていたのと、IIS上でASP.NET MVC アプリケーションの権限について理解があ…
タイトルからして、何当たり前のことを言っているんだ感が全開ですが、今後同じ間違いをしないように書いておきます。 開発環境とネットワークでつながっていない環境に、ASP.NET MVC 5 アプリケーションをデプロイする必要がありました。 デプロイの「発行…
ASP.NET MVC で開発をしている時に気になってくるのが、Entity Framework で作成したエンティティと画面で使用するモデル(ViewModel)の詰め替えをどうするかということ。 少しググってみると、AutoMapper を使用すると良いと出てくる。プロパティを一つず…