Udostępnij przez


Atrybuty pomocy technicznej dotyczącej witryn internetowych

Projekt witryny sieci Web programu Visual Studio można rozszerzyć w celu zapewnienia obsługi języków programowania w sieci Web. Język musi zarejestrować się w programie Visual Studio, aby szablony projektów mogły być wyświetlane w oknie dialogowym Nowa witryna sieci Web po wybraniu języka.

Przykład programu IronPython Studio obejmuje obsługę witryn internetowych. Przykład zawiera następujące klasy atrybutów do zarejestrowania ironPython jako języka codebehind dla nowych projektów internetowych.

WebSiteProjectAttribute

Ten atrybut jest umieszczany w projekcie języka. Dodaje język do listy języków programowania sieci Web na liście Język w oknie dialogowym Nowa witryna sieci Web. Na przykład następujący kod dodaje element IronPython do listy:

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

Ten atrybut ustawia również ścieżkę szablonów, aby wskazywała folder templates. Aby uzyskać więcej informacji na temat lokalizacji folderu szablonów, zobacz Szablony pomocy technicznej witryny sieci Web.

WebSiteProjectRelatedFilesAttribute

Ten atrybut jest umieszczany w projekcie języka. Umożliwia on projektowi witryny sieci Web zagnieżdżanie jednego typu pliku (powiązanego) w innym typie pliku (podstawowym) w Eksplorator rozwiązań.

Na przykład poniższy kod określa, że plik codebehind IronPython jest powiązany z plikiem aspx. Po utworzeniu nowej strony internetowej aspx w rozwiązaniu witryny sieci Web IronPython zostanie wygenerowany nowy plik źródłowy py i pojawi się jako węzeł podrzędny strony aspx.

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

ProvideIntellisenseProviderAttribute

Ten atrybut jest umieszczany w pakiecie projektu języka. Wybiera dostawcę funkcji IntelliSense dla języka.

Na przykład poniższy kod określa, że wystąpienie elementu PythonIntellisenseProvider, które implementuje IVsIntellisenseProjectelement , należy utworzyć na żądanie w celu świadczenia usług językowych.

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

Implementacja interfejsu IVsIntellisenseProject obsługuje odwołania i wywołuje kompilator języka, gdy żądana jest strona internetowa z kodem, ale nie jest buforowana.

Zobacz też