22
332つのフォルダの差分をレポート出力するコンソールアプリケーションです。.NET アセンブリに関してはビルド固有情報(例: MVID)が存在する場合はこれを除外して IL 比較するため、ビルド日時が異なっていても実質同じ挙動であれば同一と判定します。
44
5- ## 必要環境
6-
7- - .NET SDK 8.x
8- - macOS/Windows/Linuxで動作
5+ ## 必要環境
6+
7+ - .NET SDK 8.x
8+ - macOS/Windows/Linuxで動作
99 - IL 逆アセンブラ(自動で候補順に試行します)
1010 - 優先: `dotnet-ildasm` または `dotnet ildasm`
1111 - 代替: `ilspycmd`
@@ -18,15 +18,32 @@ dotnet tool install --global dotnet-ildasm
1818# Windows: %USERPROFILE%\.dotnet\tools を PATH に追加
1919```
2020``` bash
21- dotnet tool install -g ilspycmd
22- # 必要に応じて PATH に追加
23- # macOS/Linux: $HOME/.dotnet/tools を PATH に追加
24- # Windows: %USERPROFILE%\.dotnet\tools を PATH に追加
25- ```
26-
27- ## 処理概要
28-
29- - 旧バージョン側(比較元)と新バージョン側(比較先)のフォルダ(コマンドライン第1引数と第2引数に指定)の内容を再帰的に比較
21+ dotnet tool install -g ilspycmd
22+ # 必要に応じて PATH に追加
23+ # macOS/Linux: $HOME/.dotnet/tools を PATH に追加
24+ # Windows: %USERPROFILE%\.dotnet\tools を PATH に追加
25+ ```
26+
27+ ## CI (GitHub Actions)
28+
29+ リポジトリには GitHub Actions 用のワークフロー(` .github/workflows/dotnet.yml ` )を用意しています。` main ` ブランチへの push / pull request で自動実行され、` workflow_dispatch ` から手動でも起動できます。
30+
31+ - ` actions/checkout ` は ` fetch-depth: 0 ` で完全な履歴を取得し、Nerdbank.GitVersioning がコミット履歴を参照できるようにしています。
32+ - ` actions/setup-dotnet ` が ` global.json ` を読み取り、ローカルと同じ .NET SDK (例: 8.0.413) をインストールしたうえで ` dotnet restore ` と Release ビルドを実行します。
33+ - ` **/*Tests.csproj ` または ` **/*.Tests.csproj ` が存在する場合のみ ` dotnet test ` を動かします(現時点でテスト プロジェクトがないリポジトリでも失敗しません)。
34+ - ` actions/cache ` で NuGet(` ~/.nuget/packages ` )をキャッシュし、2 回目以降のビルドを高速化します。
35+ - Release ビルドの成果物は ` dotnet publish FolderDiffIL4DotNet.csproj --output publish ` で生成し、アップロード前に ` *.pdb ` などのデバッグシンボルを削除したうえで、` actions/upload-artifact ` により ` FolderDiffIL4DotNet ` という名前でアップロードされます(Actions 実行ページの「Artifacts」からダウンロードできます)。
36+
37+ 利用手順:
38+
39+ 1 . このリポジトリを GitHub に push するだけでワークフローが動きます。
40+ 2 . デフォルトブランチ名が ` main ` 以外の場合は、` .github/workflows/dotnet.yml ` 内の ` on.push.branches ` と ` on.pull_request.branches ` を目的のブランチ名に変更してください。
41+ 3 . テスト プロジェクトを追加したらファイル名に ` Tests ` を含めるか、必要に応じて ` Test ` ステップの条件式を調整してください。
42+ 4 . 作成された成果物は Actions 実行ページの ` Artifacts > FolderDiffIL4DotNet ` から取得できます。アーカイブ内には Release ビルド済みのファイル一式が含まれます。
43+
44+ ## 処理概要
45+
46+ - 旧バージョン側(比較元)と新バージョン側(比較先)のフォルダ(コマンドライン第1引数と第2引数に指定)の内容を再帰的に比較
3047- ファイルごとに一致/不一致及びその判定根拠(以下)を記録
3148 - MD5Match: MD5ハッシュが一致
3249 - MD5Mismatch: MD5ハッシュが不一致
0 commit comments