2016-10-03 2 views
0

Ich habe eine Lösung mit zwei Projekten drin. Eine ist eine Konsolenanwendung und die andere ist eine ASP.NET MVC-App.MVC-Ansicht nicht Verweis auf anderes Projekt

Meine Konsolenanwendung wird mit Entity Framework und ich möchte einige seiner Daten aus dem ASP.NET MVC App zuzugreifen.

ich einen Verweis auf meine Konsole App-Projekt in dem asp.net app-Projekt und in der Steuerung habe dieses Bild funktioniert gut, ich bin in der Lage, den Datenbankkontext für den Zugriff auf und die Daten zu sehen.

Allerdings wirft die Ansicht, die den Standard „Der Typ oder Namespace-Name konnte nicht gefunden werden (möglicherweise fehlt eine using-Direktive oder ein Assemblyverweis?)“ Ausnahme.

Warum kann der Controller den Konsolen-Apps-Namespace sehen, aber die Ansicht nicht?

Muss ich irgendwo eine weitere Referenz hinzufügen?

Edit:

Dies ist, was Anweisung wie folgt aussieht:

@model PagedList.IPagedList < PlacesAPI.Models.RootDomain> 
@using PagedList.Mvc; 

ich versucht habe, nicht voll qualifizierenden und tun @using PlacesAPI aber es funktioniert nicht immer Bezug auf PlacesAPI zu finden, aber es funktioniert in der Steuerung in Ordnung.

Edit:

ich auf einem anderen Thread einen Kommentar gefunden, die, wenn Sie einen externen refernece von einer virtuellen Quelle wie eine Datenbank verwenden (was ich bin), dann müssen Sie eine Referenz in der Wurzel Netz gestellt. Konfigurationsdatei nicht die Ansichten web.config Datei.

Ich habe versucht, und fügte hinzu:

<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> 

und

<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="PlacesAPI" /> 
     </namespaces> 
    </pages> 
    </system.web.webPages.razor> 

an die Wurzel web.config, aber es gibt denselben Fehler.

+1

Sie benötigen eine using-Anweisung in Ihrer cshtml-Datei. –

+0

Ich habe die using-Anweisung, aber es wirft eine Ausnahme "Der Typ oder Namespace-Name konnte nicht gefunden werden" – Guerrilla

+0

Ist es voll qualifiziert? Möglicherweise möchten Sie auch den Namespace zum Element pages :: namespaces in Views \ web.config hinzufügen. –

Antwort

2

Problem war ich eine Namespace Referenz hinzugefügt, aber nicht der Hinweis auf die Anordnung in den Ansichten web.config. Ich musste auch hinzufügen:

<system.web> 
    <compilation> 
     <assemblies> 
     <add assembly="PlacesAPI" /> 
     </assemblies> 
    </compilation> 
    </system.web> 
+0

danke viel! Das behebt mein Problem auch – fennou

Verwandte Themen