Pytanie "Definicja manifestu zlokalizowanego zespołu nie pasuje do odwołania do zespołu"


Zainstalowałem aplikację .NET WebAPI (skompilowaną dla środowiska .NET 4.5.2 i działającą lokalnie) w usłudze aplikacji Azure.

Wystąpił błąd

Nie można załadować pliku lub zespołu "System.Web.Mvc, wersja = 4.0.40804.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 'lub jedna z jego zależności. Definicja manifestu zlokalizowanego złożenia nie pasuje do odwołania do zespołu.

Sprawdziłem, że System.Web.Mvc.dll w usługach aplikacji bin katalog ma rozmiar 505504 bajtów - ten sam rozmiar co mój lokalny System.Web.Mvc.dll, który jest w wersji 4.0.40804.0, zmieniony 2014-09-25 i działa lokalnie bez problemu. Jedyną różnicą, jaką mogę powiedzieć, jest to, że mam .NET 4.5.2 zainstalowany lokalnie, a nie 4.6.1, tak jak Azure.

Wpis w moim Web.config jest

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

ale już próbowałem

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

co też nie działa.

Jak muszę edytować ten wpis dla mojej aplikacji, aby znaleźć System.Web.Mvc.dll?

Dla odniesienia, pełny komunikat o błędzie jest:

Błąd serwera w aplikacji "/".

Nie można załadować pliku lub zespołu "System.Web.Mvc" lub jednej z jego zależności. Definicja manifestu zlokalizowanego złożenia nie pasuje do odwołania do zespołu. (Wyjątek od HRESULT: 0x80131040)

Opis: Wystąpił nieobsługiwany wyjątek podczas wykonywania bieżącego żądania WWW. Sprawdź ślad stosu, aby uzyskać więcej informacji o błędzie i skąd pochodzi w kodzie.

Szczegóły wyjątku: System.IO.FileLoadException: Nie można załadować pliku lub zespołu "System.Web.Mvc" lub jednej z jego zależności. Definicja manifestu zlokalizowanego złożenia nie pasuje do odwołania do zespołu. (Wyjątek od HRESULT: 0x80131040)

Błąd źródła:

Nieobsługiwany wyjątek został wygenerowany podczas wykonywania bieżącego żądania sieci. Informacje dotyczące pochodzenia i lokalizacji wyjątku można zidentyfikować, korzystając ze śledzenia stosu wyjątków poniżej.

Śledzenie obciążenia zespołu: Poniższe informacje mogą być pomocne w określeniu, dlaczego nie można załadować zespołu "System.Web.Mvc".

WRN: Rejestrowanie wiązania złożenia jest wyłączone.   Aby włączyć rejestrowanie niepowodzenia wiązania zespołu, ustaw wartość rejestru [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) na 1.   Uwaga: Wystąpił pewien spadek wydajności związany z rejestrowaniem niepowodzenia wiązania złożenia.   Aby wyłączyć tę funkcję, usuń wartość rejestru [HKLM \ Software \ Microsoft \ Fusion! EnableLog].

Ślad stosu:

[FileLoadException: Nie można załadować pliku lub zespołu "System.Web.Mvc" lub jednej z jego zależności. Definicja manifestu zlokalizowanego złożenia nie pasuje do odwołania do zespołu. (Wyjątek od HRESULT: 0x80131040)]

[FileLoadException: Nie można załadować pliku lub zestawu "System.Web.Mvc, wersja = 4.0.40804.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 'lub jedna z jego zależności. Definicja manifestu zlokalizowanego złożenia nie pasuje do odwołania do zespołu. (Wyjątek od HRESULT: 0x80131040)]      System.Reflection.RuntimeAssembly._nLoad (AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark i stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0      System.Reflection.RuntimeAssembly.nLoad (AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark i stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +36      System.Reflection.RuntimeAssembly.InternalLoadAssemblyName (AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark i stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +152      System.Reflection.RuntimeAssembly.InternalLoad (String assemblyString, Evidence assemblySecurity, StackCrawlMark i stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection) +77      System.Reflection.RuntimeAssembly.InternalLoad (String assemblyString, Evidence assemblySecurity, StackCrawlMark i stackMark, Boolean forIntrospection) +21      System.Reflection.Assembly.Load (String assemblyString) +28      System.Web.Configuration.CompilationSection.LoadAssemblyHelper (String assemblyName, Boolean starDirective) +38

[ConfigurationErrorsException: Nie można załadować pliku lub zestawu "System.Web.Mvc, wersja = 4.0.40804.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 'lub jedna z jego zależności. Definicja manifestu zlokalizowanego złożenia nie pasuje do odwołania do zespołu. (Wyjątek od HRESULT: 0x80131040)]      System.Web.Configuration.CompilationSection.LoadAssemblyHelper (String assemblyName, Boolean 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.GetPreStartInitMethodsFromReferencedAssembly () +92      System.Web.Compilation.BuildManager.CallPreStartInitMethods (String preStartInitListPath, Boolean & isRefAssemblyLoaded) +290      System.Web.Compilation.BuildManager.ExecutePreAppStart () +157      System.Web.Hosting.HostingEnvironment.Initialize (ApplicationManager ApplicationManager, App aplikacji IApplicationHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +531

[Wyjątek HttpException (0x80004005): Nie można załadować pliku lub zespołu "System.Web.Mvc, wersja = 4.0.40804.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 'lub jedna z jego zależności. Definicja manifestu zlokalizowanego złożenia nie pasuje do odwołania do zespołu. (Wyjątek od HRESULT: 0x80131040)]      System.Web.HttpRuntime.FirstRequestInit (Kontekst HttpContext) +9947380      System.Web.HttpRuntime.EnsureFirstRequestInit (Kontekst HttpContext) +101      System.Web.HttpRuntime.ProcessRequestNotificationPrivate (IIS7WorkerRequest wr, Kontekst HttpContext) +261

Informacje o wersji: Microsoft .NET Framework Wersja: 4.0.30319; Wersja ASP.NET: 4.6.1055.0


21
2018-05-24 09:04


pochodzenie


Możliwy duplikat Definicja manifestu zlokalizowanego złożenia nie pasuje do odwołania do zespołu - MusicLovingIndianGirl
@MusicLovingIndianGirl Poszukuje wersji 4.0.40804.0, a plik, który znajduje się w tym samym katalogu, co moja biblioteka WebAPI DLL, ma wersję 4.0.40804.0. Tak więc odpowiedź tam nie pomaga. Ponadto nie mogę "używać wyszukiwania plików systemu Windows do wyszukiwania [mojego] dysku twardego dla [mojego] zespołu" w usłudze aplikacji Azure. - Alexander


Odpowiedzi:


Możesz sprawdzić "wersje montażowe" w Narzędzia> Menedżer pakietów Nuget> Zarządzaj pakietami NuGet dla rozwiązania (VS2015). Sprawdź wersje zestawów używanych w projektach w rozwiązaniu i użyj wersji pojedynczej.


28
2017-09-02 04:05



Jesteś ratownikiem życia - ryanulit
skonsoliduj kartę - Jimmyt1988