会社が、windows10、windows server2012以降のOSが標準になってきたなか、.net3.5で開発してたアプリが動作しない(Windows 機能の有効化または無効化でできますが、設定変更はできるだけしたくない)端末が増えてきて、作っているアプリの.net frameworkを更新する必要が出てきました。
とりあえず、4.0以降であれば、互換性があるみたいで、4.5以降で各OSに対応していそうなので4.5を指定。
配布が楽になるように、dllなんかも1ファイルにする「ILMerge」を使用していたんですが、どうも.net 4.0以降はうまく動かず。
で、調べてみると、新しいILMergeはnugetに移ったぽいです。
早速、Nugetを起動して、ILMergeで検索。おー。あるある。
あわせて、.net 4.5以降はオプションも変更が必要なので変更しました。
※buildと一緒にILMergeが動いてほしいので、「ビルド イベント」のビルド後イベントのコマンド ラインに追加しました。
以下が変更後のコマンド
"{プロジェクトフォルダパス}\packages\ILMerge.3.0.18\tools\net452\ILMerge.exe" /v4 /wildcards /out:$(TargetName)_4.5.exe $(TargetFileName) *.dll
絶対パスと、バージョン直指定が何ともですが、うまく動きました。
0 件のコメント:
コメントを投稿