Поделиться через


VSProject2.AddWebReference - метод

Добавляет ссылку на веб-службу этого проекта. В папку веб-ссылок проекта добавляется новая вложенная папка ссылок на веб-службу. В этой новой папке содержится несколько других элементов проекта, относящихся к веб-службе. Метод возвращает объект ProjectItem, связанный с новой папкой веб-службы.

Пространство имен:  VSLangProj80
Сборка:  VSLangProj80 (в VSLangProj80.dll)

Синтаксис

'Декларация
Function AddWebReference ( _
    bstrUrl As String _
) As ProjectItem
ProjectItem AddWebReference(
    string bstrUrl
)
ProjectItem^ AddWebReference(
    [InAttribute] String^ bstrUrl
)
abstract AddWebReference : 
        bstrUrl:string -> ProjectItem
function AddWebReference(
    bstrUrl : String
) : ProjectItem

Параметры

  • bstrUrl
    Тип: String

    Обязательный. Обычно это URL-адрес имени файла с расширением DISCO или VSDISCO.

Возвращаемое значение

Тип: ProjectItem
Возвращает объект ProjectItem, являющийся новой папкой веб-ссылок.

Заметки

Если параметр WebReferencesFolder имеет значение Nothing (ссылка nullссылка NULL (Nothing в Visual Basic)), то создается элемент ProjectItem для папки веб-ссылок проекта, и параметр WebReferencesFolder устанавливается.

При создании веб-ссылки на веб-службу в коллекцию ProjectItems проекта добавляется новый тип папки ProjectItem. В свойстве ProjectItems этого нового объекта ProjectItem содержатся отдельные элементы, составляющие спецификацию веб-ссылки. В следующей таблице описаны четыре типа элементов, включенных в спецификацию веб-ссылки.

Элемент

Назначение

Файл сопоставления (Reference.map)

Данный XML-файл сопоставляет URL-адреса с локальным расположением кэшированного файла. В нем перечислены файл обнаружения и файлы контрактов служб для данной веб-службы.

Файлы контрактов служб (WSDL-файлы)

В этих SOAP-файлах задается интерфейс данной веб-службы. В папке веб-ссылок может быть несколько файлов контрактов служб.

Файлы определения схемы XML (XSD-файлы)

В этих файлах содержатся определения схемы XML для данной веб-службы. В папке веб-ссылок может быть несколько файлов схем.

Файл обнаружения (с расширением .disco или .vsdisco)

В этом XML-файле содержатся ссылки на другие ресурсы, описывающие данную веб-службу.

Примеры

В данном примере добавляется веб-служба в проект Visual Basic или Visual C#. Перед выполнением этого примера следует изменить значение https://ServerName/Application/myServiceName.asmx параметра bstrUrl на фактический URL-адрес. О том, как выполнить этот пример в качестве надстройки, см. в разделе Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации.

[Visual Basic]

' Add-in code.
Imports VSLangProj
Imports VSLangProj80
Public Sub OnConnection(ByVal application As Object,_
 ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
 ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    applicationObject = CType(application, DTE2)
    addInInstance = CType(addInInst, AddIn)
    AddWebReferenceExample(applicationObject)
End Sub
Sub AddWebReferenceExample(ByVal dte As DTE2)
    ' This example assumes that the first project in the solution is 
    ' a Visual Basic or C# project.
    Dim aVSProject As VSProject2 = _
    CType(applicationObject.Solution.Projects.Item(1).Object, _
    VSProject2)
    ' The new project item is a folder.
    Dim newFolder As ProjectItem
    ' Replace the sample URL with an actual URL.
    newFolder = aVSProject.AddWebReference( _
    "https://ServerName/Application/myServiceName.asmx")
    ' The new name of the folder appears in Solution Explorer.
    newFolder.Name = "NewName"
    ' The ProjectItems collection for the folder is not empty.
    MsgBox(newFolder.ProjectItems.Count.ToString())
End Sub

[C#]

using System.Windows.Forms;
using VSLangProj;
using VSLangProj2;
using VSLangProj80;

public void OnConnection(object application, ext_ConnectMode
 connectMode, object addInInst, ref Array custom)
{
    applicationObject = (DTE2)application;
    addInInstance = (AddIn)addInInst;
    AddWebReferenceExample((DTE2)applicationObject);
}

public void AddWebReferenceExample(DTE2 dte)
{
    // This example assumes that the first project in the solution is 
    // a Visual Basic or C# project.
    VSProject2 aVSProject =
 ((VSProject2)( applicationObject.Solution.Projects.Item(1).Object));
    // The new project item is a folder.
    ProjectItem newFolder = null;
    // Replace the sample URL with an actual URL.
    newFolder = aVSProject.AddWebReference
("https://ServerName/Application/myServiceName.asmx ");
    // The new name of the folder appears in Solution Explorer.
    newFolder.Name = "NewName";
    // The ProjectItems collection for the folder is not empty.
    MessageBox.Show("Number of items in the Web Reference folder: \n"
 + newFolder.ProjectItems.Count.ToString());
}

Безопасность платформы .NET Framework

См. также

Ссылки

VSProject2 Интерфейс

VSLangProj80 - пространство имен