見出し画像

104. NuGet パッケージの更新 ~ その2 + ユーティリティツール更新

前回の記事                        次回の記事

はじめに

引き続き、https://github.com/kae-made  の NuGet パッケージの更新作業を解説していきます。
それに加えて、C# コードジェネレータや、BridgePoint のモデルから生成された C# コードライブラリをテスト実行するアプリケーション等も更新していくことにします。

NuGet パッケージの更新

前回、kae-utilities の更新が終わりました。今回は残りの、

  1. state-machine-framework

  2. csharp-code-generation-framework

  3. xtuml-ooa-of-ooa-framework

  4. generator-framework

  5. dtdl-schema-generator

  6. domainmodel-code-generator-csharp

  7. domainmodel-adaptor-viewer

を数字の順に更新していきます。同じ話をだらだらと繰り返すのはリソースと時間の無駄なので、kae-utilities に対して行った作業で更新できたものは、特に詳しく解説せず、個別対応した項目のみの説明にとどめます。

csharp-code-generation-framework

state-machine-framework は、kae-utilities に対して行った修正作業と同じ手順での更新で済みました。
次は csharp-code-generation-framework なのですが、2年前に作って公開したリポジトリの名前が、charp-code-generation-framework と、痛恨のスペルミスなものになっていて、超恥ずかしい状態になっています。今回はこれも修正することにしました。実際に行った手順は、以下の通りです。

  1. Github Desktop で charp-code-generation-framework を C:\gitrep に clone

  2. clone したフォルダーごと、Visual Studio 2022 の sources\repo にコピー

  3. コピーしたフォルダーの名前をcharp-… → csharp-… に変更

  4. Visual Studio 2022 で更新作業を実施

  5. Github Desktop で空の csharp-code-generation-framework リポジトリを作成

    1. C:\gitrep\csharp-code-generation-framework というフォルダーが作成されr

  6. sources\repo の csharp-code-generation-framework の中身を、C:\gitrep\csharp-code… に全コピー

  7. コピー先のフォルダーで、.vs ディレクトリと、各プロジェクトの bin、obj ディレクトリを削除 & 秘密情報が含まれていなかチェック

  8. Github Desktop で変更内容をコミット & Push

  9. 元々の charp-… の README.md を修正し、deprecated (非推奨)であることを明記

加えて、kae-utilities とバッティングしている Kae.Utility.Json パッケージは、kae-utilities のほうを使うこととし、こちらのリポジトリからは削除することにしました。具体的には、DomainModelCsharpUtility フォルダー以下のファイル群です。

Github Desktop による新規リポジトリ作成

新規リポジトリは、

新規リポジトリの作成

この図のように作成します。Local path の下に、Name の名前のフォルダーが作成されて、そこがローカル側のリポジトリになります。
そのフォルダーの下に公開したいファイル群を作成し、あとは、更新内容を Github にプッシュするのと同じ手順で、github.com 側に公開されます。

一見すると対処に困る問題への対応

ベースフレームワークのアップグレード、参照している NuGet パッケージのバージョンアップをした後にビルドした際、

意味がよくわからないエラー発生

図のような、なんだかよくわからないファイルが無いというメッセージが出ることがあります。大体が editconfig とかいうファイルの問題なのですが。
これは、ファイルのパス名が Windows が扱える限界の長さを超えたときに発生します。Visual Studio 2022 の場合、デフォルトで使われている、”sources\repo” というフォルダーが、C:\Users\UserName の下に置かれていて、私の場合もそうなのですが、UserName がやたらと長いことがあります。エラーを起こしているプロジェクト、および、ソリューションが格納されているフォルダー名が長いと、ビルドの過程で生成されるファイルのパス名が、Windows の限界の 260 文字を軽く超えてしまうので、このエラーが発生します。
対処方法は、例えば、sources\repo ではなく、C:\vs\repo の様なすごく短いフォルダーを用意してそれを使う、というのが一番確実です。
ただ、ファイル一式を github.com のリポジトリで公開することを考えると、そのリポジトリをクローンして使ってくれるユーザのレベルは初級から上級まで多様であることが予想されます。頓着なくデフォルトの sources\repo にクローンして 使うユーザーも結構いるような気がするので、なるべくなら、公開ファイル一式の中で対処できるなら処置を施したほうが良いと思われます。
今回の場合は、プロジェクト名を名前空間と同じにしていて、そのプロジェクトが格納されているフォルダー名もプロジェクト名と同じにしているので、長大になっている状況なので、そのフォルダー名をショートカットにして対処することにしました。
手順は以下の通りです。

まず、問題を起こしているプロジェクトのフォルダーがあるソリューションのフォルダーをファイルエクスプローラで開きます。
問題を起こしているプロジェクトのフォルダーのコピーを作り、コピー側のフォルダー名を短く変更します。

短い名前のフォルダーに変更

Visual Studio 2022 に戻って、ソリューションエクスプローラ上で、問題を起こしているプロジェクトのアイコンを右クリックして、ソリューションから削除します。

ここから先は

3,469字 / 9画像

2022年3月にマイクロソフトの中の人から外の人になった Embedded D. George が、現時点で持っている知識に加えて、頻繁に…

この記事が気に入ったらサポートをしてみませんか?