2016-03-30 3 views
4

Ich führe eine Lösung aus, die verschiedene Projekte enthält. Ich versuche jedoch, ein Projekt (Klassenbibliothek) auszuführen, das WCF-Dienste mit Visual Studio 2015 und Framework 4.6 (unter Windows 8 OS, IIS Express) enthält. Allerdings hält es zeigt diesen Fehler im Browser:VS 2015: Datei oder Assembly konnte nicht geladen werden 'System.Web.WebPages.Razor, Version = 2.0.0.0

Fehler:

enter imag*e description here

Ich bemerkte, dass der anrufende Montage von Razor 2.0 ist "System.Web.Mvc" Version 4.0.0.1:

Calling assembly : System.Web.Mvc, Version=4.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35.

ist jedoch System.Web.Mvc dll nicht in diesem Projekt verwiesen wird, sind die Verweise in dem Projekt in dem Bild unten:

enter image description here

Obwohl es nicht referenziert wird, erscheint es immer im bin-Ordner, auch wenn ich es lösche. Und deshalb versucht es, "System.Web.WebPages.Razor" Version 2.0 aufzurufen.

Klärende irgendwelche Hinweise des Problems:

  1. Ich habe keine verwandten Montage in der Web.Config, die System.Web.Mvc

<runtime> 
 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
 
     <dependentAssembly> 
 
     <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
 
     <bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" /> 
 
     </dependentAssembly> 
 
     
 
     <dependentAssembly> 
 
     <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> 
 
     <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> 
 
     </dependentAssembly> 
 
    </assemblyBinding> 
 
    </runtime>

ruft
  1. auch nicht im Lieferumfang enthalten Alter config:

<packages> 
 
    <package id="EntityFramework" version="6.1.3" targetFramework="net46" /> 
 
    <package id="Microsoft.AspNet.Providers" version="2.0.0" targetFramework="net451" /> 
 
    <package id="Microsoft.AspNet.Providers.Core" version="2.0.0" targetFramework="net451" /> 
 
    <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net46" /> 
 
    <package id="PostSharp" version="4.3.5-alpha" targetFramework="net46" /> 
 
    <package id="System.Web.Providers" version="1.2" targetFramework="net451" /> 
 
</packages>

  1. nicht als Referenz enthalten

Ich frage mich, über was los ist? kann ein anderes Projekt es beeinflussen! Auch ich habe versucht, Nugget zu verwenden, um die Pakete zu aktualisieren (deinstalliert und neu installiert), aber immer noch in der gleichen Situation.

Ein möglicher Grund des Problems:

Ich bemerkte auch eine in diesem Projekt "Gobal.asax" Datei ist die "MvcApplication" Klasse verwendet, die "System.Web implementiert. HttpApplication "das kann ein guter Grund für das Problem sein.

Jede Hilfe wird geschätzt.

Antwort

7

Lösung: Microsoft.AspNet.Webpages erste Version 2.0 über Nuget Manager installieren.

+0

Das hat mir geholfen. – user1652746

+0

Das hat mir auch geholfen. – AS7K

1

Ich würde beginnen, indem Sie Baugruppenbindungsfehler betrachten - dies wird Ihnen zeigen, welche Assembly die fehlgeschlagene Bindung anfordert.

Es gibt ein praktisches kleines Tool, mit dem Sie Ihre Bindungsfehler anzeigen können. Dies sollte Ihnen helfen, es aufzuspüren.

https://msdn.microsoft.com/en-us/library/e74a18c4(v=vs.71).aspx

Viel Glück!

+0

PS Speicherort hier: C: \ Programme (x86) \ Microsoft SDKs \ Windows {Version} \ bin {.NET Version Tools} – KnowHoper

0

In meinem Fall war der Fehler nach der Bereitstellung, und das Problem war eine Referenz in einer web.config in einem Unterordner dieses Servers.

i diese Störungsbehebung durch Remoting in diese Maschine und das Surfen im lokal-Website (oder Sie können Remote-Fehler in web.config ermöglichen)

<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 

So sicher sein, alle Ihre Dateien für 2.0.0.0 oder System suchen .Web.WebPages.Razor, um sicherzustellen, dass es nirgends eine Referenz gibt!

Verwandte Themen