5

Nie wiem, dlaczego nie mogę tego zrozumieć. Jestem w nieco mocnej nazwie DLL piekła. Oto co się dzieje:Jak rozwiązać problem niezgodności System.Web.Helpers w sieci Web Azure?

  • Używam Visual Studio 2012 RC do zrób miejsce MVC4 kierowanie .NET 4.0
  • Ja próbuje użyć pomocnika Gravatar Razor w bibliotece Microsoft.Web.Helpers
  • to działa na moim komputerze, ale po wdrożeniu na platformie Azure za pośrednictwem Git, otrzymuję następujący wyjątek dotyczący wywoływania pomocnika Gravatar:

    Nie można załadować pliku lub zespołu "System.Web.Helpers, wersja = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 'lub jedna z jego zależności. System nie może odnaleźć określonego pliku.

Wydaje się, że mam rozbieżności pomiędzy wersją System.Web.Helpers zainstalowanego w GAC bez względu na to hosting mój Azure witrynę i co mam kierowania.

Oto co próbowałem:

  • Copy Local = true
  • Hacking folder Moje własne _bin_deployableAssemblies, ponieważ opcja wydaje się nie być opisany na Phil Haack's blog
  • Usuwanie dodatkowych informacji o montażu w Plik .csproj dla System.Web.Helpers

Mam również następujący przekierowanie wiązania zestawu w web.config:

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

Ktoś ??

+0

Czy próbowałeś odpowiedź poniżej? Chciałbym ci pomóc z tym. –

Odpowiedz

3

Powiedziałeś, że wypróbowałeś copylocal = true, ale czy zapewniłeś, że zespół zostanie wdrożony na serwerze?

potencjalnego problemy:

• .gitignore posiada filtr .dll

bym FTP do serwera i sprawdzić, zespół jest faktycznie w katalogu bin

+0

+1 i zaakceptowane. Sprawa FTP (której nie zdawałem sobie sprawy, że mógłbyś zrobić) doprowadziła mnie do problemu (kopia lokalna kopiowała zestaw serwera wdrażania, który był 1.0.xxx, a nie 2.0.xxx). Zauważyłem także, że mój folder _bin_deployableAssembly miał 'Microsoft.Web.Helpers' zamiast' System.Web.Helpers'; po dodaniu odpowiedniego zestawu do tego folderu wszystko działało poprawnie. –