2016-05-17 25 views
11

Visual Studio 2015'te birden çok çözüm geliştiriyoruz. Çözümler, nuget paketlerine ihtiyaç duyan bazı temel projeleri paylaşıyor. Nuget paketi bir çözümden eklendiğinde ve daha sonra başka bir çözümle açıldığında nuget referansları çözümlenemez. aşağıdaki gibiVisual Studio 2015'te birden fazla çözüm ve proje için tekli Nuget paketleri klasörü nasıl oluşturulur

klasör yapısı:

  • kod temeli
    • SharedProjects
      • SharedProject1
      • SolutionA Ben SharedProject1 01 bir Nuget paketini yüklediğinizde
      • WebProjectA
      • paketleri
      • paketleri klasör B

A

  • SolutionB
  • cevap

    9

    Nuget 3.4.3 ile uygulanır olmadığı için sorunu çözmez NuGet.config dosyasını Codebase dizinine yükleyin ve diğer tüm Nuget.config dosyalarını ve .nuget klasörlerini çözümlere silin. NuGet yapılandırmaları alt klasörlere yayıldığından, tek bir NuGet.config dosyasındaki ayarlar tüm çözümlere uygulanır.

    Nuget.config dosyasında packageSource, repositoryPath ayarlarını koyarız.

    Örnek NuGet.config dosyası:

    <?xml version="1.0" encoding="UTF-8"?> 
    <configuration> 
        <config> 
         <add key="repositoryPath" value="./SharedPackages" /> 
        </config> 
    </configuration> 
    

    Mevcut Nuget paketleri ihtiyaç kaldırıldı ve .Csproj dosyalarında dll referanslar hala eski packages klasörü gösterecektir beri yeniden yüklenmesi. Veya .csproj dosyalarını manuel olarak düzenleyebilirsiniz.

    Sonuç dizin yapısı:

    • kod temeli klasör
      • Nuget.Yapılandırma dosyası
      • SharedPackages klasör
      • SharedProjects klasör
        • SharedProject1
      • SolutionA klasör
        • WebProjectA
        • paketleri
          • WebProjectB
          • paketleri klasör B A
        • SolutionB klasör
    İlgili konular