0

MyCompany.MSBuildという名前のカスタム MSBuild タスクを含む NuGet パッケージを作成しました。これらのタスクは、Newtonsoft.Json に依存しています。これは、私のパッケージがプロジェクトにインストールされた後、Newtonsoft.Json.dllと同じディレクトリにある必要があることをMyCompany.MSBuild.dll意味します。

Newtonsoft.Json.dll の独自のコピーをパッケージにバンドルすることでこれを簡単に実現できますが、Newtonsoft.Json の新しいバージョンが出てくるたびにパッケージを更新する必要がないことを意味するより良い方法があるかどうか疑問に思います。

Newtonsoft.Jsonを依存関係として宣言すると、NuGet は、誰かが私のパッケージをインストールしたときにそのパッケージをプロジェクトにインストールしますが、これは私が望んでいることではありません。

NuGet にパッケージをインストールしてプロジェクト参照を追加せずに、パッケージに依存関係を指定するにはどうすればよいですか? さらに、インストール後にそのパッケージのアセンブリを自分のパッケージのフォルダーにコピーするにはどうすればよいですか?

4

1 に答える 1

2

「隠された」依存関係を持つパッケージは、私の意見では絶対に望ましくないものです...

本当の答えではないことはわかっていますが... Newtonsoft.Json の代わりに JavascriptSerializer を使用することを検討しましたか? 少し遅くなりますが、パッケージは完全に自己完結型になります。つまり、あなたとユーザーの負担が軽減されます。

于 2013-08-01T07:06:19.830 に答える