Freigeben über


VSProject2.AddWebReference-Methode

Fügt dem Projekt einen Verweis auf einen Webdienst hinzu. Im Ordner Webverweise des Projekts wird ein neuer Unterordner Webdienste angelegt. Dieser neue Ordner enthält mehrere weitere zum Webdienst gehörige Projektelemente. Die Methode gibt das dem neuen Webdienstordner zugeordnete ProjectItem-Objekt zurück.

Namespace:  VSLangProj80
Assembly:  VSLangProj80 (in VSLangProj80.dll)

Syntax

'Declaration
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

Parameter

  • bstrUrl
    Typ: String

    Erforderlich. In der Regel handelt es sich dabei um die Dateinamen-URL mit der Erweiterung .disco oder .vsdisco.

Rückgabewert

Typ: ProjectItem
Gibt ein ProjectItem-Objekt zurück, das den neuen Ordner Webverweise darstellt.

Hinweise

Wenn die WebReferencesFolder-Eigenschaft Nothing (ein nullein Nullverweis (Nothing in Visual Basic)-Verweis) lautet, wird ProjectItem für den Ordner Webverweise des Projekts erstellt und WebReferencesFolder festgelegt.

Beim Erstellen eines Webverweises auf einen Webdienst wird der ProjectItems-Auflistung des Projekts der neue Ordnertyp ProjectItem hinzugefügt. Dieses neue ProjectItem enthält in seiner ProjectItems-Eigenschaft die einzelnen Elemente, aus denen die Webverweisspezifikation besteht. In der folgenden Tabelle werden die vier in einer Webverweisspezifikation enthaltenen Elementtypen aufgeführt.

Element

Zweck

Zuordnungsdatei (Reference.map)

Diese XML-Datei ordnet den im Cache zwischengespeicherten lokalen Dateipositionen URLs zu. In dieser Datei sind die Discovery-Datei und die Vertragsdateien für den Webdienst aufgelistet.

Vertragsdateien (.wsdl)

Diese SOAP-Dateien legen die Schnittstelle des Webdienstes fest. Im Ordner Webverweise können sich mehrere Vertragsdateien befinden.

XML Schema Definition-Dateien (.xsd)

Diese Dateien enthalten XML-Schemadefinitionen für den Webdienst. Im Ordner Webverweise können sich mehrere Schemadateien befinden.

Discovery-Datei (.disco oder .vsdisco)

Diese XML-Datei enthält Links zu anderen Ressourcen, die den Webdienst beschreiben.

Beispiele

In diesem Beispiel wird einem Visual Basic- oder Visual C#-Projekt ein Webdienst hinzugefügt. Ersetzen Sie vor dem Ausführen dieses Beispiels den bstrUrl-Parameter https://ServerName/Application/myServiceName.asmx durch eine gültige URL. Um dieses Beispiel als Add-In auszuführen, informieren Sie sich unter Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell.

[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-Sicherheit

Siehe auch

Referenz

VSProject2 Schnittstelle

VSLangProj80-Namespace