問題タブ [ilrepack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - .netstandard プロジェクトで ilrepack を使用して、nuget パッケージからすべてのアセンブリをマージする
.NetStandard プロジェクトからパブリック ナゲット パッケージを作成しています。このプロジェクトは、.netStandard も対象とする (プライベート nuget サーバーからの) プライベート nuget パッケージを使用します。
.net 標準に切り替える前は、nuget 参照は package.config にあり、プロジェクトをビルドすると、参照されているすべてのアセンブリが bin/release フォルダーにコピーされます。そこから、ビルド後のタスクで ilrepack を使用するのは簡単でした。
プロジェクトが project.json を使用して nuget パッケージを参照するようになったので、プロジェクトをビルドした後、bin/Release フォルダーには、参照された nuget パッケージのアセンブリではなく、メイン アセンブリのみが含まれます。
そこから ilrepack をどのように使用しますか?
このプロジェクトへの参照を追加することで、同じソリューション内の別のプロジェクトで再パックされたアセンブリを参照できるはずです。まだできますか?(package.config を使用した場合は機能していました)
ilrepack - ワイルドカードを使用すると、ILRepack (ILRepack.MSBuild.Task) が Internalize を使用できない
ILRepack (ILRepack.MSBuild.Task) がどのように機能するかを理解するために、概念実証を行っています。
この構成により、ClassLibrary1、AutoMapper、および Newtonsoft.Json が正しく内部化された単一のマージされた dll を作成できます。
ただし、ワイルドカードを使用しようとすると、内部化が機能しません。
なぜこれが起こっているのですか?
編集:ワイルドカードがアセンブリを並べ替えているようです。Automapper は内部化されていませんが (プライマリ アセンブリになるため)、他のすべては内部化されています (ClassLibrary2 を除く。DoNotInternalizeAssemblies がその仕事をしていると思います)。
c# - ILMerge または ILRepack はアセンブリ参照を dll に追加します
依存関係を指定する nuspec を使用してカスタム パッケージを作成しています。また、複数の dll を 1 つの dll にマージしています。
マージされた dll に外部 dll が含まれないように、外部 dll を参照する必要があります。
次のコマンドを実行しました。
ProjectC.dll は ProjectZ.dll という外部パッケージに依存しています。ProjectZ.dll を外部依存関係として追加し、ProjectA.dll には含めないようにする必要があります。
引数に ProjectZ.dll を指定せずにコマンドを実行すると、次のエラーが表示されます。
例 Moq.dll には、Castle.Core の参照アセンブリがあります。