2013-03-15 23 views
15

Son zamanlarda nuget paketi güncelleştirmeleri ve TFS kaynak denetimi entegrasyonu ile ilgili sorunlar yaşıyoruz. Bu, ekibimizle uğraş vermemize neden oluyor ve nuget paketlerini tam olarak benimsemekten çekinmemizi sağlıyor.Nuget Paket güncelleştirmeleri ve Package.config sorunu kaldırma (TF400024)

Sorun/hata; bazı projeler "package.config" dosyaları güncellemek yerine, onlar dosya sistemi (ve TFS kaynak denetimi içinde silinmiş olarak işaretlenmiş ...) kaldırılıyor neden çalışmıyor ...

bizim gördüğümüz şu geçerli: çözeltide

  1. Açık here açıklandığı gibi
  2. , paket Yönetimi Diyaloğu aracılığıyla son sürümü için bir çözüm seviyesi paketi güncellemesini başlatma 2012 VS.NET içinde (yaklaşık 18 projeleri.) .
    • package.config, söz konusu seçili çözüm içindeki projenin/projelerin bir bölümünden oluşur.
    • Bu paketler.configs henüz TFS'den teslim alınmamıştır.
  3. Nuget paket güncelleme Açıkçası
  4. , bu ne zaman check demektir .... seçme package.config projesinden çıkarıldı ve TFS içinde silinmiş ve referanslar geçerli sürüme güncellenmiş projede kalması olarak işaretlenir oluşur Çözümler ve project.config projenin kaldırılacağı gelecekteki güncelleştirmeler (inanıyorum), proje yukarıdaki gibi nuget radarı düşecek gibi (0) inanıyorum.
  5. Bunu farkedin ve Geri Al Check out & bu hatayı alın:

    TF400024: The change on xxx\packages.config cannot be undone because a file already exists at xxx\packages.config. The file must be deleted from disk for the undo to succeed. 
    
    • İlginç, TFS için dosya silinmiş olarak işaretlenmiş halde dosya sistemimde hala duruyor mu?

pacakage.config çıkarıldı hangi proje için herhangi bir sorun olduğunu göstermez aşağıda listelenen Paket Yöneticisi tarafından sağlanan çıktı ...

Updating 'NugetPackageAssemblyA' from version '1.5.18.0' to '1.5.23.0' in project 'CommonUnitTests'. 
Removed reference 'AssemblyAA.dll' from project 'CommonUnitTests' 
Removed reference 'AssemblyBB.dll' from project 'CommonUnitTests' 
Removed reference 'AssemblyCC.dll' from project 'CommonUnitTests' 
Removed reference 'NugetPackageAssemblyA.dll' from project 'CommonUnitTests' 
Added file 'packages.config'. 
Removed file 'packages.config' 
Successfully removed 'NugetPackageAssemblyA 1.5.18.0' from CommonUnitTests. 
Added reference 'AssemblyAA' to project 'CommonUnitTests' 
Added reference 'AssemblyBB' to project 'CommonUnitTests' 
Added reference 'AssemblyCC' to project 'CommonUnitTests' 
Added reference 'NugetPackageAssemblyA' to project 'CommonUnitTests' 
'packages.config' already exists. Skipping... 
Successfully added 'NugetPackageAssemblyA 1.5.23.0' to CommonUnitTests. 

DEV. Çevre İstatistikleri:

  • Nuget Paket yöneticisi: sürüm 2.2.40116.9051
  • Visual Studio 2012: sürüm 11.051106.01 Güncelleme 1

ben eksik bir şey var mı ???? Teşekkür

+0

Merhaba, araştırmamız için CodePlex üzerinde bir hataya başvurur musunuz? http://nuget.codeplex.com/workitem/list/basic. Çözümünüzü ve paketlerinizi paylaşabilirseniz, bu harika olur. – superkinhluan

+0

Hey Superkinhluan, cevabınız için teşekkürler .... done Nuget bug [link] (http://nuget.codeplex.com/workitem/3170)... ayrı bir çözüm oluşturmalı ve sorunu göstermek için iliştirmem gerekecek – darthal

cevap

1

Dene: Kaynak denetimi

  • den

    • Ciltten Çıkar tüm projeler
    • tüm projelerinizi Yeniden bağlama Nuget paketini kurun tekrar
  • +0

    Evet, bu benim için çalıştı. Ancak, bundan sonra yeniden oluştururken yeni .nupkg dosyalarınızı Kaynak Denetimine eklemeyi unutmayın. Azure'da bir paket geri yüklemesi yaparsanız bunlara ihtiyacınız olacak. – Elferone

    1

    Bizim için geçici çözüm kontrol etmek oldu Tüm çözümü ve ardından NuGet paketlerinizi güncelleyin.

    14

    Visual Studio Online kodunun basit bir denetimi benim için hile yaptı.

    +0

    microsoft dan bir pisi, yakında düzeltmek umuyoruz. Bunu çözmek için çok fazla zaman harcadım ... Sorunları referanslar ve paketlerde araştırıyordum ama bütün konular TFS'den kaynaklanıyor! WTH ?! > :( – AmiNadimi

    +0

    Bu benim için ne gerekiyor ... Teşekkürler! – Coding4Fun

    8

    Burada olup bitenler (muhtemelen), bir önceki sürümün (veya aynı sürümün) .dll dosyasının referansı olduğunu ve SOME noktasında (bunu yaptığınız veya VS yaptıysanız) referansı kaldırmanızdır. . Dizinde referans görmüyorsanız da, TFS/GIT iade işlemi hala kaldırdığınız gerçeği "kontrol etmek" için bekliyor. Eğer bu gerçeği kontrol etmediyseniz, VS gerçekte değilken hala orada olduğunu düşünüyor. Bunu, kaldırılan .dll dosyasını görebilmeniz için Team Explorer alanında doğrulayabilirsiniz.

    Aptalca, ama işte böyle gidiyor.

    +0

    Absolute cankurtaran - Bu durumda yaklaşık 50 dosya vardı - ama yukarıdaki bilgi ile silahlı, Windows Explorer'daki tüm çakışan dosyaları silerek sorunu çözdüm , Visual Studio'nun bir çözüm açmadan açılması, Team Explorer'ın açılması, Team Explorer'daki değişikliklerin giderilmesi ve daha önce silinmiş dosyaların en son sürümünün alınması. –

    +0

    Oh evet, yaptığım değişiklikler de dahil olmak üzere VS ile ilgili küçük bir sorunum vardı check in içinde. Benim durumumdaki bootstrap klasörünün silmelerini ekledikten sonra kontrol ettim ve iyi çalıştığını kontrol ettim – Juan

    6

    Bu problemi de yaşadım.

    o çözmek için:

    1. sizin Kaynak denetim Explorer (Team Foundation) açın
    2. Bundan sonra bu klasöre

    ait Checkin olun çözümün 'paketler' klasörü bulun TF400024 hatası almadan Nuget paketlerini kurabilirsiniz.

    +0

    Benim için çalıştı, sadece paketler klasörünü kontrol etmemiz gerektiğini ve tüm çözümü incelememizi sağladığın için teşekkürler. . –

    İlgili konular