2016-08-26 1 views
1

Visual Studio 2015 & Mit Sitecore 8.0
ich eine neue MVC erstellt haben Projekt mit .Net Framework 4.6.1, kopiert und referenziert die Sitecore.kernel.dll & Sitecore.mvc.dll. Die vorhandene Datei web.config & global.asax wurde durch die Sitecore-Dateien ersetzt.
Eine einfache HTML-Seite in der Lösung hinzugefügt und versucht, sie zu durchsuchen (von VS). Die Seite öffnet sich mit diesem Fehlerkonnte nicht Datei oder Assembly laden 'System.Web.Http, Version = 5.1.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' oder eine ihrer Abhängigkeiten

konnte nicht Datei oder Assembly 'System.Web.Http, Version = 5.1.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' oder eine ihrer Abhängigkeiten laden. Die angegebene Datei wurde vom System nicht gefunden.

Diese HTML-Seite wurde noch nicht in Sitecore veröffentlicht. Ich denke, die Sitecore.mvc.dll will MVC 5.1.0 und die MVC in VS Projekt ist 4.0.

Also habe ich die folgenden Schritte versucht.

  1. Run Paket Befehl in Paket-Manager-Konsole für MVC 5.1.1 installieren, die den Fehler zeigt

kann nicht für Quelle des Service-Index laden https://api.nuget.org/v3/index.json.

  1. Gelöschte die %AppData%\NuGet\nuget.config und neu gestartet VS2015

  2. manuell durchsucht https://api.nuget.org/v3/index.json, aber die Seite nicht geladen - Secure connection failed. Aber das - http://api.nuget.org/v3/index.json wird aufgefordert, den JSON herunterzuladen. Also, in der nuget geändert https zu http, aber seine die gleichen Fehler - Den Dienst kann nicht Index laden ...

Ich bin nicht einmal in der Lage, mein erstes Sitecore MVC-Projekt zu starten, wenn dies geschieht.

Ich ersetzte die Sitecore web.config durch die web.config des regulären VS-Projekts und jetzt kann ich die Seite durchsuchen. Ich setze das Copy To Output Directory auf Nicht kopieren, damit es nicht veröffentlicht wird.

Kann ich meine Sitecore-Entwicklung ohne größere Probleme in Zukunft fortsetzen?

+3

Sitecore MVC hängt von einer bestimmten Version von ASP.Net MVC ab. Ihre Schritte beim Installieren des richtigen Nuget-Pakets sind richtig. Ihr Problem ist mit Nuget .... Ich kann MVC 5.1.1, Zugang zu https://api.nuget.org/v3/index.json installieren. Als Abhilfe können Sie MVC-Assemblies aus dem Sitecore-Installationsordner beziehen (und darauf verweisen). Aber richtiger Weg: Finde heraus, was mit Nuget los ist. (Ich denke, dass es eine Firewall sein könnte) – Anton

Antwort

5

Sie müssen ein paar Dinge tun, um dies zu beheben:

Ihr VS-Projekt aktualisiert werden soll, die web.config Datei aus der Sitecore Installation zu haben. Sie müssen haben die Sitecore Version dieser Datei oder Sitecores werden nicht ausgeführt richtig

sollten Sie ein Add-Bindung für die MVC-Datei umleiten, die alles, was die neueste Version verwenden macht:

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

Vergewissern Sie sich, dass die Die Datei web.config in Ihrem Ordner /views enthält die korrekten Versionen aller MVC-Assemblys.Dies ist mein für eine .net 4.6-Anwendung:

<configSections> 
    <sectionGroup name="system.web.webPages.razor" 
     type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
    <section name="host" 
     type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" 
     requirePermission="false" /> 
    <section name="pages" 
     type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" 
     requirePermission="false" /> 
    </sectionGroup> 
</configSections> 

<system.web.webPages.razor> 
    <host 
     factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <pages pageBaseType="System.Web.Mvc.WebViewPage"> 
     <namespaces> 
      <add namespace="System.Web.Mvc" /> 
      <add namespace="System.Web.Mvc.Ajax" /> 
      <add namespace="System.Web.Mvc.Html" /> 
      <add namespace="System.Web.Optimization" /> 
      <add namespace="System.Web.Routing" /> 
      <add namespace="Sitecore.Mvc" /> 
      <add namespace="Sitecore" /> 
     </namespaces> 
    </pages> 
</system.web.webPages.razor> 

Sobald dies erledigt ist, Ihre Sitecore Installation korrekt die neuesten MVC-Binärdateien abholen sollte.

Verwandte Themen