.NET Core プラグイン DLL を含む NuGet パッケージの配布
.NET Core を使用してプラグイン アーキテクチャを開発するには、シームレスなユーザー インストールのためにプラグイン DLL とその依存関係を配布する必要があります。 ただし、標準の .NET Core ビルドには、NuGet の依存関係が自動的に含まれません。
解決策: .csproj ファイルを変更する
これらの依存関係を含めるには、プロジェクト ファイル (.csproj) を次のように調整します。
<PropertyGroup>
セクションを見つけます。<PropertyGroup>
内に次の行を追加します:<code class="language-xml"><CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies></code>
これにより、NuGet パッケージがビルド出力ディレクトリに確実にコピーされます。
重要な考慮事項: ビルド出力とデプロイメント
NuGet パッケージをビルド出力に直接コピーするのはローカル テストには便利ですが、配布には理想的ではありません。 デプロイ可能なアーティファクトを作成するには、常に dotnet publish
コマンドを使用します。
より堅牢なソリューション:DependencyContext API の使用
より柔軟で移植性の高い代替方法では、NuGet パッケージを直接埋め込む必要がなくなります。 DependencyContext
API を利用して、実行時にアプリケーションの依存関係グラフから DLL の場所を動的に解決します。 これにより、依存関係を処理するための、よりクリーンで保守しやすいアプローチが提供されます。
以上がNuGet の依存関係を .NET Core プラグイン DLL に含めるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。