2010-10-06 13 views
5

Statt zu schreibenGlobal „<@Assembly>“ und „<@Import Namespace>“, um Asp.net MVC Ansichten

<@ Import Namespace="Microsoft.SharePoint" %> 

auf jeder Ansicht hinzufügen Ich schaffe ich weiß, kann ich einfach diese nur web.config Datei meine bearbeiten und hinzufügen :

... 
<pages> 
    <namespaces> 
     <add namespace="Microsoft.SharePoint" /> 
    </namespaces> 
</pages> 

Aber das scheint in Entwurfszeit nicht zu funktionieren. Visual Studio 2010 ist nicht in der Lage SPContext zu sehen, wenn ich diese beiden Zeilen oben auf meiner Sicht als auch hinzufügen:

<%@ Assembly Name="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
<%@ Import Namespace="Microsoft.SharePoint" %> 

Wie füge ich Baugruppen sowohl global als auch Import Namespace so VS wird in der Lage sein, Klassen zu lösen/Objekte?

Antwort

5

Sie müssen auch die Montage an den <assemblies> Abschnitt des <compilation> Abschnitt unter <system.web> hinzuzufügen:

<compilation debug="false" targetFramework="4.0"> 
    <assemblies> 
    <add 
     assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" /> 
    </assemblies> 
</compilation> 

Ihre targetFramework und debug Attributwerte entsprechend variieren kann, um die Framework-Version Sie Targeting und ob Sie‘ Debuggen oder nicht.

+0

Dachte mir so und fügte es hinzu (naja es wurde eh schon hinzugefügt). Ich musste nur Namespace im '' Element hinzufügen, aber VS erkennt 'SPContext' nicht. –

+1

Danke trotzdem. Es funktioniert wie erwartet. Das Problem war, dass global web.config nicht Teil meines Asp.net MVC war, also musste ich neu definieren und es begann auch in Visual Studio zu arbeiten. Dumm von mir. Danke trotzdem. Ich muss noch ein paar Minuten warten, um deine Antwort zu akzeptieren. –

+0

@Robert - ausgezeichnet. – Kev

2

Es sollte funktionieren, wenn Sie die Assembly auch in der Web.config hinzufügen.

+1

Danke Andrew. Kevs Antwort war vollständiger, also akzeptierte ich seine und hob auch deine auf, da du korrekte Informationen zur Verfügung gestellt hast. –

+0

+1 tatsächlich war es; Danke für die Abstimmung! :) –

Verwandte Themen