SORU
9 Aralık 2009, ÇARŞAMBA


Çözme MSB3247 - Bulundu bağımlı aynı derlemenin farklı sürümleri arasında çatışmalar

Bir .NET 3.5 çözüm bu msbuild ile derlerken uyarı ile sona erdi.

Bazen NDepend yardımcı olabilir ama bu durumda herhangi bir ayrıntılı bilgi vermedi. Like Bob ben bağımlı derlemenin eski bir sürümünü başvuran olanı bulana kadar ILDASM her Meclis açılış başvurmak zorunda sona erdi.

Çalıştım kullanarak MSBUİLD VS 2010 Beta 2 (Bağlan makalede belirtilen bu sabit bir sonraki sürümünün CLR) ama o yoktu sağlamak daha fazla ayrıntı ya (belki de sabit yazı Beta 2)

(Daha fazla) otomatik daha iyi bir yaklaşım var mı?

CEVAP
30 Ocak 2010, CUMARTESİ


"Projenin çıkış ayrıntı yapı" için "Ayrıntılı" veya üstü. MSBuild değiştirin Bunu yapmak için şu adımları izleyin:

  1. Seçenekler iletişim kutusunu getirmek içinAraçlar ->Seçenekleri...).
  2. Sol taraftaki ağaç seçinProjeler ve Çözümlerdüğüm ve sonra seçinKurmak ve Çalıştırmak.
    • Not: Eğer bu düğümü göstermek değilse, iletişim kutusunun altındaki onay kutusunu emin olunTüm ayarları gösterişaretli.
  3. Görünen Araçlar/Seçenekler sayfasında, ayarlayınMSBuild proje çıkış ayrıntı yapıseviye içinAyrıntılı(size farz VS2010;NormalVS2008 veya daha büyük) yeterli olacaktır.
  4. Proje oluşturma ve çıktı penceresinde görünür.

MSBuild mesaj atın. Hangi MSB3247 kaynaklanan görevi olan ResolveAssemblyReferences görev, bu konuda hata ayıklama yardımcı olacaktır.

Özel benim durumumda SqlServerCe hatalı bir başvuru oldu. Aşağıya bakın. İki proje SqlServerCe iki farklı versiyonu başvuran vardı. Eski sürümü ile proje gittim, başvuru kaldırılması, doğru bir referans ekledi.

Target ResolveAssemblyReferences:
    Consider app.config remapping of assembly "System.Data.SqlServerCe, ..." 
        from Version "3.5.1.0" [H:\...\Debug\System.Data.SqlServerCe.dll] 
        to Version "9.0.242.0" [C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PublicAssemblies\System.Data.SqlServerCe.dll]
        to solve conflict and get rid of warning.
    C:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets : 
        warning MSB3247: Found conflicts between different versions of the same dependent assembly.

Her derleme başvurulan derlemeler sürümlerini belirlemek için açmak zorunda değilsiniz.

  • Her Başvuru Özelliklerini kontrol edebilirsiniz.
  • Proje Özellikleri Açık ve Referanslar sürümleri bölümünü kontrol edin.
  • Bir Metin Editörü ile projelere açık.
  • Kullanın .Net Reflektör.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Damian Winter

    Damian Winte

    27 ŞUBAT 2007
  • We've moved!

    We've moved!

    7 Ocak 2008
  • Sergio Fernandez

    Sergio Ferna

    1 EKİM 2009