Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.