同じソリューションでproject A
から別のproject B
を参照するにはどうすればよいですか?
次の場合、何が得られ、何が失われますか。
project A
への参照をプロジェクト参照として追加します。project A
にproject B
のNuGetパッケージをインストールします。気になるのは、ビルドの依存関係、バージョン管理などです。
または、これはソリューションの目的を完全に破壊しますか?
最初のアプローチでは、ProjectA nugetパッケージの新しいバージョンを生成する必要がないため、その中で行うすべての変更(ProjectA.nupkgなど)が簡単になります。
ただし、2番目のアプローチでは、同じnugetパッケージを他のプロジェクト/ソリューションと簡単に共有できるため、移植性が向上します。
個人的には、他のソリューションと共有することを目的とするプロジェクトに対してのみ、nugetパッケージを作成しています。 (例:ライブラリとフレームワーク)。
これがあなたの決定に役立つことを願っています!
プロジェクトリファレンスVS NuGet
プロジェクト参照またはNuGetは、開発プロセスにおいて非常に一般的な問題です。実際の状況に基づいて、どちらを使用するかを選択する必要があります。
たとえば、参照されているプロジェクトAが開発プロセス中に頻繁に変更される場合は、プロジェクト参照を使用することをお勧めします。 nugetを使用する場合は、参照プロジェクトを再構築し、nugetパッケージを再作成し、そのnugetパッケージをプロジェクトBに再インストールする必要があるため、サーバーに公開する必要があります。これにより、多くの不要な作業が発生し、参照されたプロジェクトAを変更した後、nugetパッケージを更新し忘れることがよくあります。プロジェクト参照を使用する場合、これらの問題は発生しません。変更された参照プロジェクトAは、プロジェクトBをビルドする前に自動的に更新されます。
一方、参照先のプロジェクトAをソリューション外で共有する場合、またはそのプロジェクトを他の人と共有する場合は、nugetの方が適しています。より移植性があります。
したがって、同じソリューションでプロジェクトBから別のプロジェクトAを参照する場合は、プロジェクト参照が推奨されます。ソリューションから参照プロジェクトを共有する場合、またはプロジェクトを他のユーザーと共有する場合は、ナゲットがより適切です。
さらに、Visual Studioの拡張機能 NuGet Reference Switcher があります。これにより、NuGetアセンブリ参照がプロジェクト参照に、またはその逆に自動的に切り替えられます。
お役に立てれば。