0

異なるディレクトリにある異なるソリューション間で共有プロジェクトを使用する場合、nuget パケット管理に問題があります。解決策の 1 つは nuget を使用することであり、もう 1 つはそうではありません。問題は、パケット マネージャーが .csproj ファイルに次の行を追加することです。

忙しい猫

現在、nuget パケット管理は共有プロジェクト間でのみ使用されているため、問題の解決策は $(SolutionDir) を $(ProjectDir) に変更することです。これは機能し、今のところ問題を解決します。

これで、nuget パケット管理が有効になっているソリューションを再度開くと、(上の図に示すように) 同じ行が共有プロジェクトの .csproj ファイルに自動的に追加され、他のソリューションからのプロジェクトの読み込みが中断されます。

そのインポート句の自動生成を防ぐ方法、または問題に対する他のエレガントな解決策はありますか?

4

1 に答える 1

1

NuGet を使用しないソリューションで NuGet パッケージの復元を有効にすると、問題が解決するはずです (ソリューションを右クリックし、パッケージの復元を有効にします)。そのプロジェクトで NuGet を使用していない間は、そのオプションをオンにしても問題はありません。

個人的には、複数のソリューションから同じプロジェクトを参照することは決してなく、代わりにプライベート NuGet パッケージに変換するようにしています。新しいパッケージを作成し、デプロイしてから、他のプロジェクトにインストールする必要があるため、このような開発は少し面倒です。しかし、現在抱えている問題や、開発者がチェックイン時に誤って他のプロジェクトを壊してしまう問題など、他の多くの問題も解決します。

于 2012-11-02T07:27:44.920 に答える