2015-09-06 26 views
11

Bilgisayarımdaki birçok C# projesiyle bir Visual Studio (Topluluk 2013) çözümüne sahibim ve yalnızca Windows 10'a yükselttim. Proje, .NET Framework 4.0 İstemci Profili'ni kullanıyor. Win7 üzerinde her şey iyi çalıştı, ama şimdi projelerden biri referansları yüklemiyor gibi görünmüyor. Başvurulan öğelerin yakınında sarı üçgenler vardır, aynı çözümden başvurulan öğeler nelerdir (bu nedenle, NuGet tarafından yüklenmemiş olan sistem ve referanslar yüklenmez).Visual Studio, proje referanslarını yüklemiyor

references...

Kaynakları çözümde başka proje, diğerleri değil. Bir sistem referans için özellikler sekme açtığınızda herşeyi dosya .Csproj ok gibi görünüyor orada,,, ... Bunun yanında

empty path

Path alan boştur ve bu yüzden Resolved alan False olduğunu Gerekirse, <HintPath> düğümleri vardır, göreli (veya referans başka bir sürücüde ise mutlak) ve varolan yolları düzeltin.
Başka bir garip şey: nesne tarayıcı referansların hepsi (görünüşte) yüklenen şunlardır: Ne yapmam gerektiğini

Object Browser seems to be ok Yani

:

  • yeniden oluşturun proje dosyasını (tarafından yeni proje oluşturmak ve tüm dosya ve referansları tekrar eklemek);
  • Projenin yapılandırmasında bir değişiklik yapılması;
  • .Net'in daha yeni bir sürümünü kullanın; VS konfigürasyonunda bir değişiklik yapma;
  • Başka bir VS (örn. Topluluk 2015) kullanın veya mevcut olanı yeniden yükleyin?
+0

çerçeve yüklediniz mi? 4.0. 4.5 olması durumunda 4.5.x en sonuncu olabilir ve windows 10'un eski çerçeveleri içerdiğinden şüpheliyim. Sınıf kütüphanesinde daha yeni bir çerçeve için kütüphaneleri gözlemliyor olabilirsiniz, ancak (sürüm farkı nedeniyle) projenize dahil edilmeyecektir. –

+0

@BradChristie Çerçeveyi yeniden yüklemeyi denedim, ancak "microsoft net framework 4 bu işletim sisteminin bir parçasıdır ..." (etc) diyerek çıkıyor. Diğer projeler referanslarını doğru bir şekilde yükleyebilir, aynı çerçeveyi kullanır. – nvi9

+0

Çerçeve veya SDK çerçevesi? –

cevap

9

Ben de bu sorun vardı ve bana bazı aldı Bunu anlamaya zaman. Sorun şu ki, NuGet paketlerin nasıl geri yüklendiğini değiştirdi.

 <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> 
    <PropertyGroup> 
     <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> 
    </PropertyGroup> 
    <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" /> 
    </Target> 

gibi proje dosyasında 3 dosyaları (nuget.config, nuget.exe, nuget.targets) ve bazı ayarlarla ".nuget" klasörü gerekli "eski yol" Bu proje kırılmasına neden .

bu düzeltmek veya projeye eksik dizini kopyalamak (ile bin ve eski sürüm/Nuget vs veya sahip olduğu bir meslektaş) için ya da sadece basit bir proje dosyasından yukarıda belirtilen kısmını silin.

iyi sonuç için de proje dosyasından

<RestorePackages>true</RestorePackages> 

ve

<Import Project="$(SolutionDir)\.nuget\nuget.targets" /> 

kaldırmak!

burada konu hakkında daha fazla bulun: http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html ve http://docs.nuget.org/consume/package-restore/migrating-to-automatic-package-restore

+0

Bunun doğru yaklaşım olduğunu doğrulayabilirim - hedef çerçevenin sizin sorununuz olmadığını varsayarak. – sapbucket

+0

Vay, Microsoft'un ellerinde ne gibi bir karışıklık var. VS2017'de, görünüşe göre, bu hala bir sorun. Bununla 2 saat boyunca uğraştım. Sonunda bu yazıyı okudum ve .nuget klasörünü başka bir projeden çözüm klasörüne kopyaladığımda, her şey sonunda çalıştı. Teşekkür ederim!! – user1524080

1

Ana sorun, FRAMEWORK referansıdır.

VS içine proje yükleyin ve .NET 4.x (müşteri) ya da yükseltme, sizin PROJE ÖZELLİKLERİ sayfasında (TARGET ÇERÇEVE) 'de bunu değiştirmek .NET 4.5

+0

Denedim, daha iyisi yok ... Neyse ki diğer projeler .NET'in bu sürümünde sorun yok. – nvi9

İlgili konular