Soru “Bulunan montajın manifest tanımı, montaj referansı ile uyuşmuyor”


.NET WebAPI uygulamasını (.NET 4.5.2'ye karşı derlenmiş ve yerel olarak çalışıyor) bir Azure Uygulama Hizmetine dağıtmıştım.

Orada atılan hata

Dosya veya montaj 'System.Web.Mvc, Sürüm = 4.0.40804.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' veya bağımlılıklarından biri yüklenemedi. Bulunan düzeneğin manifest tanımı, montaj referansı ile uyuşmuyor.

App hizmetindeki System.Web.Mvc.dll dosyasını kontrol ettim bin dizinin boyutu 505504 bayttır - benim sürümüm 4.0.40804.0 olan yerel System.Web.Mvc.dll ile aynı boyutta, 2014-09-25 değiştirildi ve sorun olmadan yerel olarak çalışıyor. Anlayabileceğim tek fark, Azure'un yaptığı gibi 4.6.1 değil, yerel olarak kurulu olan .NET 4.5.2'nin var olmasıdır.

Web.config sayfamdaki giriş

  <dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="4.0.40804.0" />
  </dependentAssembly>

ama daha önce denedim

  <dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="4.0.0.0" />
  </dependentAssembly>

Bu da işe yaramıyor.

System.Web.Mvc.dll bulmak için benim uygulama için bu girdiyi düzenlemek zorunda mıyım?

Referans için tam hata mesajı:

'/' Uygulamasında Sunucu Hatası

Dosya veya derleme 'System.Web.Mvc' veya bağımlılıklarından biri yüklenemedi. Bulunan düzeneğin manifest tanımı, montaj referansı ile uyuşmuyor. (HRESULT özel durum: 0x80131040)

Açıklama: Geçerli web isteğinin yürütülmesi sırasında işlenmeyen bir özel durum oluştu. Hata hakkında ve kodda nereden kaynaklandığı hakkında daha fazla bilgi için yığın izlemesini gözden geçirin.

Özel Durum Ayrıntıları: System.IO.FileLoadException: Dosya veya derleme 'System.Web.Mvc' veya bağımlılıklarından biri yüklenemedi. Bulunan düzeneğin manifest tanımı, montaj referansı ile uyuşmuyor. (HRESULT özel durum: 0x80131040)

Kaynak Hatası:

Mevcut web isteğinin yürütülmesi sırasında işlenmeyen bir istisna oluşturuldu. İstisna durumunun kaynağı ve konumu ile ilgili bilgiler aşağıdaki istisna yığını izlemesi kullanılarak tanımlanabilir.

Montaj Yükü İzleme: Aşağıdaki bilgiler 'System.Web.Mvc' montajının neden yüklenemediğini belirlemek için yardımcı olabilir.

WRN: Montaj bağlama kaydı KAPATILDI.   Derleme başarısızlığı günlüğe kaydetme etkinleştirmek için <a0> </ a0>, kayıt defteri değerini [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) 1 olarak ayarlayın.   Not: Montaj bağlantı hatası başarısızlığıyla ilişkili bazı performans cezaları vardır.   Bu özelliği kapatmak için kayıt defteri değerini kaldırın [HKLM \ Software \ Microsoft \ Fusion! EnableLog].

Yığın izleme:

[FileLoadException: Dosya veya derleme 'System.Web.Mvc' veya bağımlılıklarından biri yüklenemedi. Bulunan düzeneğin manifest tanımı, montaj referansı ile uyuşmuyor. (HRESULT özel durum: 0x80131040)]

[FileLoadException: Dosya veya derleme yüklenemedi 'System.Web.Mvc, Sürüm = 4.0.40804.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' veya bağımlılıklarından biri. Bulunan düzeneğin manifest tanımı, montaj referansı ile uyuşmuyor. (HRESULT özel durum: 0x80131040)]      System.Reflection.RuntimeAssembly._nLoad (AssemblyName dosyaAdı, Dize koduBase, Kanıt derlemesiSecurity, RuntimeAssembly locationHint, StackCrawlMark & ​​stackMark, IntPtr pPrivHostBinder, Boole atımıOnFileNotFound, Boole forEntrospection, Boolean suppressSecurityChecks) +0      System.Reflection.RuntimeAssembly.nLoad (AssemblyName dosyaAdı, Dize koduBazı, Kanıt derlemesiSecurity, RuntimeAssembly locationHint, StackCrawlMark & ​​stackMark, IntPtr pPrivHostBinder, Boole atımıOnFileNotFound, Boole forEntrospection, Boolean baskılamaSecurityChecks) +36      System.Reflection.RuntimeAssembly.InternalLoadAssemblyName (AssemblyName assemblyRef, Kanıt derlemesiSecurity, RuntimeAssembly reqAssembly, StackCrawlMark & ​​stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean baskılamaSecurityChecks) +152      System.Reflection.RuntimeAssembly.InternalLoad (String assemblyString, Kanıt derlemesiSecurity, StackCrawlMark ve stackMark, IntPtr pPrivHostBinder, Işıma için Boole) +77      System.Reflection.RuntimeAssembly.InternalLoad (String assemblyString, Kanıt derlemesiSecurity, StackCrawlMark & ​​stackMark, Gösterge için Boole) +21      System.Reflection.Assembly.Load (String assemblyString) +28      System.Web.Configuration.CompilationSection.LoadAssemblyHelper (String assemblyName, Boole starDirective) +38

[ConfigurationErrorsException: Dosya veya montaj yüklenemedi 'System.Web.Mvc, Sürüm = 4.0.40804.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' veya bağımlılıklarından biri. Bulunan düzeneğin manifest tanımı, montaj referansı ile uyuşmuyor. (HRESULT özel durum: 0x80131040)]      System.Web.Configuration.CompilationSection.LoadAssemblyHelper (String assemblyName, Boole starDirective) +738      System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory () +217      System.Web.Configuration.CompilationSection.LoadAssembly (AssemblyInfo ai) +130      System.Web.Compilation.BuildManager.GetReferencedAssemblies (CompilationSection compConfig) +170      System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies () +92      System.Web.Compilation.BuildManager.CallPreStartInitMethods (String preStartInitListPath, Boolean ve isRefAssemblyLoaded) +290      System.Web.Compilation.BuildManager.ExecutePreAppStart () +157      System.Web.Hosting.HostingEnvironment.Initialize (ApplicationManager uygulamasıManager, IApplicationHost uygulamasıHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +531

[HttpException (0x80004005): Dosya veya derleme yüklenemedi 'System.Web.Mvc, Sürüm = 4.0.40804.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' veya bağımlılıklarından biri. Bulunan düzeneğin manifest tanımı, montaj referansı ile uyuşmuyor. (HRESULT özel durum: 0x80131040)]      System.Web.HttpRuntime.FirstRequestInit (HttpContext içeriği) +9947380      System.Web.HttpRuntime.EnsureFirstRequestInit (HttpContext içeriği) +101      System.Web.HttpRuntime.ProcessRequestNotificationPrivate (IIS7WorkerRequest wr, HttpContext içeriği) +261

Sürüm Bilgileri: Microsoft .NET Framework Version: 4.0.30319; ASP.NET Sürümü: 4.6.1055.0


21
2018-05-24 09:04


Menşei


Olası kopya Bulunan aksamın manifest tanımı, montaj referansı ile uyuşmuyor - MusicLovingIndianGirl
@MusicLovingIndianGirl 4.0.40804.0 sürümünü arıyor ve WebAPI DLL ile aynı dizinde bulunan dosya 4.0.40804.0 sürümüne sahip. Yani oradaki cevap yardımcı olmuyor. Ayrıca, Azure Uygulama Servisleri'nde "[my] derleme için sabit diskimde arama yapmak için Windows dosya aramasını kullanamıyorum". - Alexander


Cevaplar:


"Derleme sürümlerini" Araçlar> Nuget Paket Yöneticisi> Çözüm için NuGet Paketlerini Yönet (VS2015) bölümünde kontrol edebilirsiniz. Projelerinizde kullanılan derlemelerin sürümlerini çözümleyin ve tek versiyonunu kullanın.


28
2017-09-02 04:05



Sen bir hayat kurtarıcısın - ryanulit
konsol birleştir - Jimmyt1988