TLDR: Evet
NuGet, Windows Kullanıcı Profiliniz düzeyinde NuGet.config ile başlayan ve ardından çözümünüzü içeren dosya yolunun kökünden başlayarak daha fazla ve daha ayrıntılı yapılandırma uygulayarak paket kaynaklarının hiyerarşik bir uygulamasını kullanır ve son olarak çözüm dosyası.
İşte anlamayı başardığım şey - beni bu belgeye yönlendiren yardımsever bir Twitter kullanıcısı sayesinde:
https://docs.nuget.org/consume/nuget-config-file
NuGet paketi kaynaklarını Visual Studio'nun Tools > NuGet Package Manager > Package Manager Settings: Package Sources
seçeneğinde düzenlediğinizde , bu değişiklikleri varsayılan olarak %APPDATA%\NuGet
dizininizde bulunan NuGet.config dosyasına uygular . Bu ayarları çözüme göre (veya çözüm grubuna göre) geçersiz kılmak için, çözümünüzün veya çözümlerinizin yolu boyunca bir yere stratejik olarak yerleştirilmiş bir NuGet.config dosyası eklemeniz gerekir.
NuGet belgesini okursanız her şey netleşecek, aşağıda sağladığım çözüm, tek bir Visual Studio çözümü için bir yapılandırma belirtmenize hızlı bir şekilde izin verecektir:
- % APPDATA% \ NuGet'e gidin ve NuGet.config'in bir kopyasını alın
- Çözümünüzün kök dizinine, yani Application.sln'nin bulunduğu yere bir kopya atın.
- Kopyayı yalnızca bu çözümle ilgili NuGet paketi kaynaklarını içerecek şekilde düzenleyerek kullanıcı profilinize uygulanan varsayılanları geçersiz kılın - örneğin, bu çözüm için özel paketleri içeren ancak diğer projelere uygulanmaması gereken özel NuGet kaynağı - Örneğin:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageRestore>
<add key="enabled" value="True" />
<add key="automatic" value="True" />
</packageRestore>
<activePackageSource>
<add key="All" value="(Aggregate source)" />
</activePackageSource>
<packageSources>
<clear />
<add key="My Private NuGet Server" value="http://myprivatenuget.com:8080/nuget" />
</packageSources>
<disabledPackageSources>
<add key="Microsoft and .NET" value="true" />
</disabledPackageSources>
</configuration>
Bir yapılandırma sağlanması, çoklu çözümlere başvurmak çözüm klasörleri tüm ortak dizin içinde bulunan sağlamak ve bu ortak dizinde bu çözümü hakkında paket kaynakları için NuGet.config koymak istiyorsanız o projeler için herhangi bir çözüm klasörleri değiller 't bu paket kaynakları bu ortak klasörde yer almayan kullanmak.