Freigeben über


Attribute der Websiteunterstützung

Visual Studio-Websiteprojekt kann erweitert werden, um Unterstützung für Webprogrammiersprachen bereitzustellen. Die Sprache muss sich bei Visual Studio registrieren, damit Projektvorlagen im Dialogfeld "Neue Website " angezeigt werden können, wenn die Sprache ausgewählt ist.

Das IronPython Studio-Beispiel enthält Websiteunterstützung. Das Beispiel enthält die folgenden Attributklassen, um IronPython als Codebehind-Sprache für neue Webprojekte zu registrieren.

WebSiteProjectAttribute

Dieses Attribut wird für das Sprachprojekt platziert. Sie fügt die Sprache der Liste der Webprogrammiersprachen in der Sprachenliste im Dialogfeld "Neue Website " hinzu. Der folgende Code fügt z. B. IronPython der Liste hinzu:

[WebSiteProject("IronPython", "Iron Python")]
public class PythonProjectPackage : ProjectPackage

Dieses Attribut legt auch den Vorlagenpfad fest, der auf den Vorlagenordner verweist. Weitere Informationen zum Speicherort des Vorlagenordners finden Sie unter Websitesupportvorlagen.

WebSiteProjectRelatedFilesAttribute

Dieses Attribut wird für das Sprachprojekt platziert. Es ermöglicht dem Websiteprojekt, einen Dateityp (im Zusammenhang) unter einem anderen Dateityp (primär) in der Projektmappen-Explorer zu verschachteln.

Der folgende Code gibt beispielsweise an, dass eine IronPython-Codebehind-Datei mit einer ASPX-Datei verknüpft ist. Wenn eine neue ASPX-Webseite in einer IronPython-Websitelösung erstellt wird, wird eine neue PY-Quelldatei generiert und als untergeordneter Knoten der ASPX-Seite angezeigt.

[WebSiteProjectRelatedFiles("aspx", "py")]
public class PythonProjectPackage : ProjectPackage

ProvideIntellisenseProviderAttribute

Dieses Attribut wird für das Sprachprojektpaket platziert. Er wählt den IntelliSense-Anbieter für die Sprache aus.

Der folgende Code gibt beispielsweise an, dass eine Instanz von PythonIntellisenseProvider, die implementiert IVsIntellisenseProjectwird, bei Bedarf erstellt werden soll, um Sprachdienste bereitzustellen.

[ProvideIntellisenseProvider(typeof(PythonIntellisenseProvider), "IronPythonCodeProvider", "Iron Python", ".py", "IronPython;Python", "IronPython")]
public class PythonPackage : Package, IOleComponent

Die IVsIntellisenseProject-Implementierung verarbeitet Verweise und ruft den Sprachcompiler auf, wenn eine Webseite mit Code angefordert, aber nicht zwischengespeichert wird.

Siehe auch