it-swarm-tr.com

HRESULT: 0x80131040: Bulunan Meclisin manifesto tanımı Meclis referansı ile eşleşmiyor

Bulunan Meclis'in bildirim tanımı Meclis başvurusuyla eşleşmiyor

bunu rahibeli rahibeden geçirirken aldım. Herhangi bir fikir?

47
chethan

Bu, derlemeler arasında bir uyumsuzluktur: Bir derlemeden başvurulan bir DLL beklenen bir yöntem imzasına sahip değildir.

Çözümü temizleyin, her şeyi yeniden oluşturun ve tekrar deneyin. 

Ayrıca, bunun GAC’deki bir şeye referans olup olmadığına dikkat edin; bir yerde yanlış bir versiyona işaret ediyor olabilir. (Her bir referansın Özellikleri ile) doğru sürümün seçildiğinden veya Belirli Sürümün yanlış ayarlandığından emin olun.

44
Jeremy McGee

Son zamanlarda bu sorun vardı ve ben söz konusu dll üzerinde 'bağlıdır.exe' koştu. Bana dll'nin x86'da, bazı bağımlıların da x64'te derlendiğini gösterdi.

Eğer hala sorun yaşıyorsanız, uygun bir programı kullanmanızı tavsiye ederim.

9
Kyle

Bir wcf dinlenme hizmetleri projesi için benim durumumda, istenen dll'nin bulunduğu web.config'e bir çalışma zamanı bölümü eklemek zorunda kaldım:

  <runtime>
    <assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" />
        <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
      </dependentAssembly>
.
.
.
  <runtime>
6
fguigui

Bu genellikle, sınama ortamının DLL dosyalarından birinin sürümünün geliştirme ortamıyla eşleşmediği durumlarda gerçekleşir. 

Temizleyin ve Çözümünüzü oluşturun ve tüm DLL dosyalarınızı, düzeltilmesi gereken hatanın oluştuğu ortama götürün

Benim durumumda bu hata ayıklama sırasında aldım:

"Error while calling service <ServiceName> Could not load file or Assembly 'RestSharp, 
Version=105.2.3.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. 
The located Assembly's manifest definition does not match the Assembly reference.
(Exception from HRESULT: 0x80131040)"

Sebeb olmak

Projemde RestSharp kullanan 2 iç bileşen vardı ancak her iki bileşenin de farklı RestSharp sürümü var (biri 105.2.3.0 sürümüyle, diğeri 106.2.1.0 sürümüyle).

Çözüm

Bileşenlerden birini yenisine yükseltin ya da diğerini düşürün. Benim durumumda 106.2.1.0'dan 105.2.3.0'ye indirgemek ve bileşeni NuGet paket yöneticisinde güncellemekten daha güvenliydi. Yani her iki bileşen de aynı sürüme sahip. 

Yeniden ve sorunlarla çalıştı.

Proje dosyalarına farklı bilgisayarlardan paylaşılan bir klasör aracılığıyla erişirken benzer sorunlar yaşadım. Benim durumumda temiz + reabuild yardımcı olmadı. Çıkış dizinden bin ve nesneleri klasörleri silmek zorunda kaldı.

3

Tüm çalışma zamanı bölümünü kaldırarak sorunlarım çözüldü

<runtime>
        <assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
                <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
                <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
3
kyorilys

Özel durumumda bunu VBScript'te yapılan CreateObject sonucu aldım .. Durumumun nedeni, GAC'da bulunan Meclisin derlediğimden daha eski bir versiyonuydu. (daha önceki bir problemi çözmeye çalışırken Meclisi GAC'a kurdum).

Bu nedenle, COM tarafından görünür sınıflarla çalışıyorsanız, yeni Meclisinizi RegASM'e kaydetmeden önce Meclisinizin eski sürümlerini GAC'den kaldırdığınızdan emin olun.

Benim durumumda WebGrease nedeniyle oldu. NuGet kullanarak en son sürüme güncelledim, ancak bağımlılıklarla çelişiyordu. Aşağıdaki kodu web.config içine elle ekledim ve bir çekicilik olarak çalıştı.

<dependentAssembly>
    <assemblyIdentity name="WebGrease" culture="neutral" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
</dependentAssembly>

Lütfen, çözümümün yalnızca hata WebGrease ile ilgili olduğunda işe yarayacağını unutmayın. Hata kodu aynı kalacaktır. Ayrıca, buna göre oldVersion ve newVersion sürümlerini de değiştirmeniz gerekiyor.

1
sandiejat

Sadece silinmiş bin klasör ve proje hepsini yeniden oluşturur ve şimdi çalışıyor.

1
j.j.a.c.k.

Bir web api projesinde bu sorunla karşılaştım.

Api projesi, sürüm 3 olan bir kütüphanenin nuget paketini kullanıyordu ve başvurulan derlemelerden biri, X'in aynı nuget paketinin eski versiyonunu sürüm 2 ile kullandığını söylüyor.

Başvurulan Derleme ne zaman inşa edildiyse veya X'e atıfta bulunan herhangi bir proje yeniden inşa edildiğinde, api projesinin derlemeleri daha düşük versiyonlarla güncellenir. Ve bu derleme referans hatası var.

Yeniden çalışır, ancak benim durumumda uzun vadeli bir çözüm istiyordum.

Montajları nuget paketinin aynı sürümüne referansta buldum.

Burada başka bir dava. Bu hatayı ilk kez VS2010/.NET 4 altındaki nesnelere seri hale getiren Managed Debugging Assistant'dan bu hata oluştu. Nesneler için sınıfları içeren bir DLL bir post-build olayında (normal Microsoft tarzı şeyler) oluşturulur. . Aynı çözümde birkaç proje için çok iyi çalıştı, bir projede bunu yaparken sorun ortaya çıktı. Hata metni:

BindingFailure saptandı Mesaj: Görünen adı olan Meclis MyProjectName.XmlSerializers ',' LoadFrom 'binding .__' da yüklenemedi. AppDomain ID 1 ile bağlamında. Arızanın nedeni: System.IO.FileLoadException: Dosya veya Assembly .__ yüklenemedi. MyProjectName.XmlSerializers, Sürüm = 1.0.0.0, Kültür = nötr, PublicKeyToken = null 'veya bağımlılıklarından biri. Bulunan Derlemenin açık tanımı Derleme referansıyla uyuşmuyor . (HRESULT İstisnası: 0x80131040)

Buradaki bazı cevaplar bir platform uyuşmazlığı önerdiğinden, 3 projenin ve çözümün "karma platformlar" yapılandırmasının seçili olduğunu ve AnyCPU yerine x86 için 3 projenin derlendiğini fark ettim. Platforma özel bir kodum yok (bazı satıcılar tarafından sağlanan DLL'ler birkaç x86 kütüphaneye dayanıyor olsa da). X86'nın tüm oluşumlarını bununla AnyCPU'ya değiştirdim:

for a in $( egrep '(x86|AnyCPU)' */*.csproj *.sln -l  ) ; do echo $a ; sed -i 's/x86/AnyCPU/' $a ; done

Ardından proje inşa edilecek, ancak kod çalıştırma veya hata ayıklama için tüm seçenekler gri olacaktır. VS'yi yeniden başlatmak yardımcı olmaz. 

Git durumunda x86 kütüphanesine referansları geri aldım, her durumda, ancak derlediğim tüm kodlar için AnyCPU'yu sakladım.

Aşağıdaki F5 veya Başlat Hata Ayıklama Düğmesi Winform uygulaması için mi Gri? Başlangıç ​​projesini boşalttım ve yeniden yükledim (aynı zamanda ilk sorunun ilk ortaya çıktığı yerdeydi).

Bundan sonra, her şey yerine oturdu: program ilk hata olmadan çalışıyor.

Bkz. http://www.catb.org/jargon/html/R/rain-dance.html , http://www.catb.org/jargon/html/V/voodoo-programming.html veya http://www.catb.org/jargon/html/I/incantation.html ve oradaki bağlantılar.

0

Başvurulan tüm ödevleri güncellemeden web.config'i güncellediğimde bu başıma geldi.

Uygun fark filtresi kullanarak (Meld'in varsayılan dizin karşılaştırma filtresini ikili dosyaları yok sayarak) kullanarak fark belirlendi, dosyalar kopyalandı ve her şey iyi çalıştı.

0
andrej

Paypal Meclisini bulamaması sorunu vardı ve bu benim çözümüm Paypal olarak adlandırılmamdı. Bunun kimsenin cevabı olmayacağına eminim ama yine de paylaşacağımı düşündüm: C # ASP.NET MVC Paypal derleme bulamıyor

0
davelowe85

Tasarımcıda çalışırken bu hatayı aldım. VS 2012'de gelişiyordum, ancak son birkaç gün içinde 2017'ye "yükseltildim". Çözüm VS'yi kapatıp yeniden açmaktı. 

Referans Yöneticisi'nin çalışmadığı yerlerde başka yerlerde , bildirdiğim bir hatayla ilgili olabilir mi? Bu durumda, Solution Explorer'da bir başvuru eklemeye çalışırken aşağıdaki hata iletisiyle karşılaşılıyor:

"Hata HRESULT E_FAIL, bir aramadan bir COM Bileşenine döndürüldü."

Geçici çözümüm çözümü kapatmak, VS2012'de yeniden açmak, referansı eklemek, 2012'yi kapatmak ve 2017'yi tekrar açmaktı.

0
markysdad

Settings.lic dosyasını projeden sildim ve çalışmaya başladım!

0
Marko

Sadece web yapılandırma dosyanızı kontrol edin ve şu kodu kaldırın: -

<dependentAssembly>
    <assemblyIdentity name="itextsharp" publicKeyToken="8354ae6d2174ddca" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-5.5.13.0" newVersion="5.5.13.0" />
  </dependentAssembly>
0
Hardeep Singh