2014-06-25 22 views
32

Zaktualizowałem MVC4 do MVC5. Po uruchomieniu aplikacji dostałem błąd, że nie mam WebMatrix.Data. Zainstalowałem go PM> Install-Package WebMatrix.Data. Teraz, gdy zaczną się w przeglądarce:Nie można załadować pliku lub zespołu "WebMatrix.Data"

Nie można załadować pliku lub zestawu 'WebMatrix.Data, Version = 3.0.0.0, Culture = neutral , TokenKluczaPublicznego = 31bf3856ad364e35' lub jeden z jego zależności. Położenie definicji manifestu zespołu nie odpowiada odniesienie do zespołu. (Wyjątek od HRESULT: 0x80131040)

Ktoś wie, jak to naprawić?

Konsola Package Manager Log

Attempting to resolve dependency 'Microsoft.AspNet.WebPages.Data (≥ 2.0.20710.0)'. 
Installing 'WebMatrix.Data 2.0.30506.0'. 
You are downloading WebMatrix.Data from Microsoft, the license agreement to which is available at http://www.microsoft.com/web/webpi/eula/aspnetcomponent_rtw_enu.htm. Check the package for additional dependencies, which may come with their own license agreement(s). Your use of the package and dependencies constitutes your acceptance of their license agreements. If you do not accept the license agreement(s), then delete the relevant components from your device. 
Successfully installed 'WebMatrix.Data 2.0.30506.0'. 
Adding 'WebMatrix.Data 2.0.30506.0' to xxx. 
Successfully added 'WebMatrix.Data 2.0.30506.0' to xxx.` 

kawałek kodu Web.config

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> 
     <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" /> 
     <bindingRedirect oldVersion="0.0.0.0-1.3.0.0" newVersion="1.3.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="DotNetOpenAuth.AspNet" publicKeyToken="2780ccd10d57b246" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="Microsoft.AspNet.Identity.Core" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> 
     </dependentAssembly> 
     <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="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="WebMatrix.WebData" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="WebMatrix.Data" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 
+0

Czy znasz http://stackoverflow.com/questions/215026/the-located-assemblys-manifest-definition-does-not-match-the-assembly-reference? –

+0

Czytam. Teraz dostaję kompilator "Nie można znaleźć nazwy typu lub przestrzeni nazw" WebMatrix "(czy brakuje instrukcji użycia lub odniesienia do zestawu?)' – user3128303

+0

Cóż, przeczytałeś, ale czego próbowałeś z proponowanych rozwiązań? –

Odpowiedz

89

Przejdź do: Tools > NuGet Package Manager > Package Manager Console

i uruchom następujące polecenie:

PM> Install-Package Microsoft.AspNet.WebPages.Data 
+2

Tak, zrobiłem to dla mnie - musiałem zmienić na kopiowy-lokalny dla jednego z odniesień, ale jestem gotowy do pracy z moim siewem: D - dzięki! –

+1

Udostępniam zależne projekty zależne od starszej wersji. Musiałem przejrzeć wszystkie referencje i zaktualizować, aby działało ... co zmusiło mnie do uaktualnienia strony z MVC4 do 5 na wszystkich moich stronach ... Wiedząc to z wyprzedzeniem mogłem zrobić to inaczej .. –

13

To jest właściwie starsza biblioteka. Należy zamiast tego zainstalować Microsoft.AspNet.WebPages.Data jeśli aktualizujesz z MVC 4 do 5.

PM> Install-Package Microsoft.AspNet.WebPages.Data 
6

To działa jak dobrze

Update-Package Microsoft.AspNet.WebPages.Data 
+0

To działało również dla mnie. –

22

to co pracował dla mnie. Zajęło tygodnie, aby to rozgryźć.

Upewnij się, że ramka docelowa odpowiada temu, co chcesz (mam 4.6.1).

Przejdź do: Tools > NuGet Package Manager > Package Manager Console i wykonaj następujące polecenia.

Uninstall-Package Microsoft.AspNet.WebHelpers 
Uninstall-Package Microsoft.AspNet.WebPages.OAuth 
Uninstall-Package Microsoft.AspNet.WebPages.WebData 
Uninstall-Package Microsoft.AspNet.WebPages.Data 

Install-Package Microsoft.AspNet.WebPages.Data 
Install-Package Microsoft.AspNet.WebPages.WebData 
Install-Package Microsoft.AspNet.WebPages.OAuth 
Install-Package Microsoft.AspNet.WebHelpers 

Mam nadzieję, że pomoże to każdemu, kto wypróbował inne rozwiązania bez powodzenia.

+2

Świetne rozwiązanie, thx bracie! Nie miałem szczęścia z innymi rozwiązaniami, ale to mi bardzo pomogło :) – MasterKitano

+1

Dziękuję za oszczędność czasu !!! –

0

z konsoli menedżera pakietów widzę, że projekt został pomyślnie dodana „WebMatrix.Data 2.0.30506.0” do xxx.`

Więc uzyskać web.config w synchronizacji z WebMatrix.Data 2.0.30506.0

+0

Wyjaśnij swoją odpowiedź? Dlaczego program w początkowym pytaniu nie działa? – Coder

Powiązane problemy