Практическое руководство. Добавление ссылки на компонент .NET или COM на веб-узле

Visual Studio 2010

Обновлен: Ноябрь 2007

Можно создавать ссылки на компоненты .NET, которые находятся в глобальном кэше сборок (GAC) или на компоненты COM, зарегистрированные на компьютере. Также можно делать ссылки на компоненты, которые находятся на жестком диске, но не внесены в глобальный кэш сборок (GAC). Создание ссылки на компонент делает его доступным для использования в коде.

hsy826az.alert_note(ru-ru,VS.100).gifПримечание.

Если выполняется развертывание приложения, содержащего ссылку на пользовательский компонент, зарегистрированный в глобальном кэше сборок (GAC), компонент не будет развернут вместе с приложением. В более ранних версиях Visual Studio.NET для ссылки можно было задать свойство Копировать локально; это гарантировало, что сборка будет развернута. В ASP.NET 2.0 для развертывания любой сборки вместе с приложением необходимо вручную добавить сборку в папку "Bin" приложения. Это снижает риск публикации пользовательского кода, с которым разработчик не знаком. Дополнительные сведения см. в разделах Работа со сборками и глобальным кэшем сборок и Развертывание и глобальный кэш сборок.

Добавление ссылок на зарегистрированные компоненты COM

  1. В меню Веб-узел выберите команду Добавить ссылку и щелкните вкладку COM.

  2. Выберите из списка компонентов COM компонент, который будет использован, и нажмите кнопку ОК.

    Visual Basic автоматически создает сборку взаимодействия — это особая сборка .NET, содержащая метаданные для определения типов COM и позволяющая компиляторам .NET разрешать вызовы объектов COM.

    Если необходимый компонент отсутствует в списке, нажмите кнопку Обзор и найдите его на собственном жестком диске.

Добавление ссылок на компоненты .NET, зарегистрированные в платформе .NET Framework

  1. В меню Веб-узел выберите команду Добавить ссылку и щелкните вкладку .NET в диалоговом окне.

  2. Выберите необходимый компонент из списка компонентов .NET и нажмите кнопку ОК.

    Если необходимый компонент отсутствует, выберите вкладку Обзор и найдите файл сборки на собственном жестком диске.

После добавления ссылки на компонент в проекте ее можно использовать в коде.

Использование компонента, на который существует ссылка

  • Добавьте в начало класса или модуля оператор Imports (Visual Basic) или using (C#), который указывает на пространство имен, на которое осуществляется ссылка. Дополнительные сведения см. в разделах Оператор Imports (пространство имен .NET и тип) и Оператор using (Справочник по C#).

    После этого можно использовать имена членов без задания полного имени (указания имени пространства имен в качестве префикса для имени члена). Например, при добавлении ссылки на пространство имен System.Web и включении оператора Imports (Visual Basic) или using (C#) для пространства имен System.Web.UI.WebControls класс SiteMapNodeItem можно использовать без полного имени, как это показано в следующем примере:

    [Visual Basic]

    Imports System.Web.UI.WebControls
    Public Class SampleClass
        Dim smni As SiteMapNodeItem = _
            New SiteMapNodeItem(0, SiteMapNodeItemType.Parent)
    End Class
    

    using System.Web.UI.WebControls;
    public class SampleClass
    {
        SiteMapNodeItem smni = new 
            SiteMapNodeItem(0, SiteMapNodeItemType.Parent);
    }
    

    Если не использовать для пространства имен System.Web.UI.WebControls оператор Import Visual Basic .NET или оператор C# using, то на класс SiteMapNodeItem можно сослаться все равно, но при этом необходимо указывать полное имя, как в следующем примере.

    [Visual Basic]

    Public Class SampleClass
        Dim smni As System.Web.UI.WebControls.SiteMapNodeItem = _
            New System.Web.UI.WebControls.SiteMapNodeItem(0, _
            System.Web.UI.WebControls.SiteMapNodeItemType.Parent)
    End Class
    

    public class SampleClass
    {
        System.Web.UI.WebControls.SiteMapNodeItem smni = 
            new System.Web.UI.WebControls.SiteMapNodeItem(0, 
            System.Web.UI.WebControls.SiteMapNodeItemType.Parent);
    }
    
Показ: