VRもくもく会を今週も開催しました。これは、「VRでのイベントというのも今後は選択肢に入ってくるのではないか、とにかくやってみて経験値を溜めてみよう」ということでやっています。2~3週間おきの定期開催ということで、もう1年以上続けています。 今日…
VRもくもく会を今週も開催しました。これは、「VRでのイベントというのも今後は選択肢に入ってくるのではないか、とにかくやってみて経験値を溜めてみよう」ということでやっています。2~3週間おきの定期開催ということで、もう1年以上続けています。 今日…
概要 保守性を上げるためのコーディングの理論は、オブジェクト指向をはじめとして、いくつもあります。しかし、現場では理想とのギャップがありすぎて、「理論としては学んだが、現実に使うものではない」というような扱いを受けがちだと感じます。 0か100…
VRもくもく会を今週も開催しました。これは、「VRでのイベントというのも今後は選択肢に入ってくるのではないか、とにかくやってみて経験値を溜めてみよう」ということでやっています。2~3週間おきの定期開催ということで、もう1年以上続けています。 今日…
概要 WiXSharpというインストーラ作成用のライブラリの話です。以前の記事でも少し触れましたが、なかなか癖が強く、すぐにやれそうなことも意外と工夫が必要だったりします。 その中で、「NuGetでライブラリを追加したい」という、よく必要になる上に簡単に…
概要 Windowsインストーラを作ろうとした場合に、WiX Toolsetという有力な選択肢があります。そのWiX Toolsetをさらに作りやすくするWiXSharpというライブラリがあります。 しかしこのWiXSharpはなかなか癖が強く、前提条件がピタリはまると大きな力を発揮し…
概要 PostgreSQLでプログラム上から単発のSQLを実行したい場合に、ファイルを経由せずに1回限りのパスワードを与える方法の話です。 最初に結論まとめ コマンドプロンプトの/cのセッション内で環境変数を設定し、そのままコマンドも実行します。例えば次のよ…
VRもくもく会を今週も開催しました。これは、「VRでのイベントというのも今後は選択肢に入ってくるのではないか、とにかくやってみて経験値を溜めてみよう」ということでやっています。2~3週間おきの定期開催ということで、もう1年以上続けています。 今日…
概要 WPFの画面にWebView2を実装。デバッグ実行すると問題ないが、実行環境にインストールすると表示されない・・・? そういう場合、WebView2はexeがあるフォルダへの書き込み権限を要求するという特徴のせいかもしれません。その説明と解決策です。 最初に…
概要 .NET MAUIで、普通のデスクトップアプリをビルドする方法の話です。普通というのは、msixインストーラで配布するパッケージではなく、exeとdllを作ってmsiインストーラなどで配布するタイプのアプリです。 先に結論まとめ プロジェクトファイルに<WindowsPackageType>None</WindowsPackageType>を…
最初にまとめ こんな内容の記事です。 ボタンかコマンドがたくさん並んだ一品もののテストアプリを、毎回一から作ってる? それなら、UI部分はNUnitConsoleに任せて、ロジックだけに集中しよう! その使い方を紹介 概要 DLLのようなロジックだけを開発する場…
VRもくもく会を今週も開催しました。これは、「VRでのイベントというのも今後は選択肢に入ってくるのではないか、とにかくやってみて経験値を溜めてみよう」ということでやっています。2~3週間おきの定期開催ということで、もう1年以上続けています。 ・・…
VRもくもく会を今週も開催しました。これは、「VRでのイベントというのも今後は選択肢に入ってくるのではないか、とにかくやってみて経験値を溜めてみよう」ということでやっています。2~3週間おきの定期開催ということで、もう1年以上続けています。 前回…
VRもくもく会を今週も開催しました。これは、「VRでのイベントというのも今後は選択肢に入ってくるのではないか、とにかくやってみて経験値を溜めてみよう」ということでやっています。2~3週間おきの定期開催ということで、もう1年以上続けています。 今日…
概要 Windowsのファイルパスなどで、大文字小文字を無視して文字列比較をしたい場合があります。C#では、単純な比較もできますし、ソートと一致判定を伴うコレクション(HashSet,Dictionaryなど)でもそうした比較を行うことができます。ただし比較方式には…
概要 開発者の手元のビルド環境だけではなく、どこでもリリースビルドが再現可能であること。 Warningの作り込みやUTコードのFailを早めに見つけてデグレを防ぐこと。 こうした、CI/CD的な考え方は、Windowsアプリ開発においても大事なところだと思います。…
概要 Windowsアプリを作成していると、PC内のプロセス同士で通信をしたい場合があります。その実装方法として、.NET 8で公式サポートされたgRPCのパイプ通信が優秀なようです。 それについて次のスライドで、イベントで登壇させてもらいました。 www.docswel…
結論 プロジェクト設定の.NETターゲットフレームワークのコンボボックスに、手入力で「net8.0」と書く。コンボボックスの選択肢には出てこない。 愚痴 C#プロジェクトは当然のようにエディタから設定できるのに、C++/CLIプロジェクトはRC2に至ってもこの状況…
WinGetのプレビュー機能「WinGet構成ファイル」を使うと、VisualStudioの構成ファイルインポートのような少し複雑なセットアップも自動化できる。 MSのサイトに必要な情報は一通り書いてあるが、情報量が多いので「最低限これをやりたい」という時の手順がち…
Quest 2のAir Linkが繋がらない!なぜだ!もうケーブルはいらないんだ! まずは、このあたりを試す。たいていはこれで解決する。 PCとQuestとWiFiルーターを再起動する PCのOculusアプリとビデオカードのドライバ、それとQuestを最新版にアップデートする そ…
GitHub Copilotを使ってみたら、思った以上に即効性のある便利さだった。次のスライドで、いくつか実例を交えて紹介したので、興味のある人は覗いてみてほしい。 www.docswell.com
C#の同期メソッドの中で、Taskの完了を待ちたい。しかし、単にWaitすると例外がAggregateExceptionとなって処理が面倒なので、awaitと同様にそのまま例外を受け取れる待ち方にしたい。 そんな都合のいい方法が・・・あった。ただし、状況によっては要求を満…
前回のエントリでは、GenericHostやMVVM等の作りを揃えておけば、Viewを書き換えるだけでWPFからWinUI 3への移行が楽になりそうだという話を書いた。 WPFからWinUI 3やMAUIへの移行を楽にする方法 - 新しもの好きプログラマの耳より情報ブログ ではViewを書…
結論 結論から言うと、次の2つの改善を現行のWPFプロジェクトでやっておけば、いざWinUI 3やMAUIへ移行しようとした場合も楽にできそうだ。 MVVMの構造にして、画面とロジックを分離しておく。 GenericHostを使い、アプリの初期化やインスタンス生成と、ロジ…
このイベントで、タイトルの内容を喋りました。 【オンライン】.NET 6 移行祭り! C# Tokyo イベント - connpass 喋った内容の情報はありませんが、スライドを公開します。 www.docswell.com 私は調べていませんが、次のようなツールが使えるという情報を頂…
概要 .NET 6で作ったソリューション全体を発行したくなったら、dotnet publishコマンドを使うだけ。シンプルで良い。 しかし、これが通じるのはC#プロジェクトだけで完結している場合。C++/CLIやCOMを参照するプロジェクトは、dotnet publishではエラーが出…
概要 他の仮想化ソフトを使うなどの理由で、一時的にHyper-VをOFFにしたい場合がある。BlueStacksとか。一般的なテクニックとして、bcdeditでhypervisorlaunchtype=offに設定したエントリを作るというのがよく使われているが、これが効かない環境があった。…
概要 WebhookのURLに&(アンパサンド)が入っていることがあるが、これをPowerShellのコマンドのパラメータに渡そうとすると、そのままではエラーになる。これの解決方法を調べた。 結論 3つの"(ダブルクォート)でURLを囲めば良い。もしくは、'(シングル…
概要 apache guacamoleを試しにセットアップしてみたところ、LinuxのDockerでは上手くいったがDocker for Windowsでは2つ引っかかったところがあった。その内容をメモる。 .sqlファイルの文字コード 手順の中で、次のようにguacamoleからsqlファイルを出力し…
解決したい問題 Azure Pipelineのスクリプト内でgit submoduleコマンドを使おうとすると、認証が通らずに失敗する。 submoduleのURL自体にトークンを入れておけば通るが、リポジトリ自体にトークンを入れてしまうと変更時などに困るし、できればパイプライン…