次の方法で共有


Reference インターフェイス

プロジェクト内の参照を表すのに使用します。 プロジェクト内で参照を使用することで、参照先に格納された任意のパブリック メンバーを使用できます。 プロジェクト内では、他の .NET プロジェクト、他の .NET アセンブリ、および他の COM オブジェクトへの参照を使用できます。

名前空間:  VSLangProj
アセンブリ:  VSLangProj (VSLangProj.dll 内)

構文

'宣言
<GuidAttribute("35D6FB50-35B6-4C81-B91C-3930B0D95386")> _
Public Interface Reference
[GuidAttribute("35D6FB50-35B6-4C81-B91C-3930B0D95386")]
public interface Reference
[GuidAttribute(L"35D6FB50-35B6-4C81-B91C-3930B0D95386")]
public interface class Reference
[<GuidAttribute("35D6FB50-35B6-4C81-B91C-3930B0D95386")>]
type Reference =  interface end
public interface Reference

Reference 型で公開されるメンバーは以下のとおりです。

プロパティ

  名前 説明
パブリック プロパティ BuildNumber 参照のビルド番号を取得します。読み取り専用。
パブリック プロパティ Collection このプロパティをサポートしているオブジェクトまたはこのコード コンストラクターに含まれているオブジェクトを含むコレクションを取得します。
パブリック プロパティ ContainingProject 選択した項目を含むプロジェクトを取得します。読み取り専用。
パブリック プロパティ CopyLocal 参照を local bin のパスにコピーするかどうかを決定します。
パブリック プロパティ Culture 参照のカルチャ文字列を取得します。読み取り専用。
パブリック プロパティ Description 参照の説明文を取得します。読み取り専用。
パブリック プロパティ DTE トップレベルの機能拡張オブジェクトを取得します。
パブリック プロパティ Extender 要求された Extender オブジェクトがこのオブジェクトで利用できる場合はそれを取得します。
パブリック プロパティ ExtenderCATID オブジェクトの Extender カテゴリ ID (CATID) を取得します。
パブリック プロパティ ExtenderNames オブジェクトで使用できる Extender の一覧を取得します。
パブリック プロパティ Identity 参照の一意の識別子を取得します。読み取り専用。
パブリック プロパティ MajorVersion 参照のメジャー バージョン番号を取得します。読み取り専用。
パブリック プロパティ MinorVersion 参照のマイナー バージョン番号を取得します。読み取り専用。
パブリック プロパティ Name オブジェクトの名前を取得します。読み取り専用。
パブリック プロパティ Path 参照ファイルへのパスを取得します。読み取り専用。
パブリック プロパティ PublicKeyToken 参照アセンブリの公開キー トークンを取得します。
パブリック プロパティ RevisionNumber 参照のリビジョン番号を取得します。読み取り専用。
パブリック プロパティ SourceProject 参照先がプロジェクトの場合は、Project オブジェクトを取得します。それ以外の場合は、Nothing (nullnull 参照 (Visual Basic では Nothing) 参照) を返します。読み取り専用。
パブリック プロパティ StrongName 参照が公開キーと秘密キーのペアで署名されているかどうかを示す値を取得します。読み取り専用。
パブリック プロパティ Type アセンブリと COM コンポーネントのどちらが参照先かを示す prjReferenceType 値を取得します。読み取り専用。
パブリック プロパティ Version 選択されている参照のバージョンを取得します。

このページのトップへ

メソッド

  名前 説明
パブリック メソッド Remove 参照を含む References オブジェクトから参照を取得します。

このページのトップへ

解説

Reference オブジェクトは、VSProject オブジェクトの References コレクションに含まれています。 Reference オブジェクトには、アセンブリ (Visual Studio プロジェクトを含む) と COM オブジェクトの 2 種類があります。 他のプロジェクトへの参照は、プロジェクト間参照と呼ばれますが、アセンブリ参照と見なされます。

テンプレートを使用して新しいプロジェクトを作成し、参照を 2 つ追加し、その参照の型を表示する例を次に示します。

'Macro Editor
Imports VSLangProj
Sub NewProject()
   Dim newName As String = InputBox("New project name:")
   ' Create a new project in the solution based on an existing
   ' project.
   Dim newProject As Project = DTE.Solution.AddFromTemplate( _
      "C:\TemplatePath\Template.vbproj", _
      "C:\ProjectPath\" & newName, newName)
        
   ' Add a COM reference and display its type.
   Dim vsProject As VSProject = CType(newProject.Object, VSProject)
   Dim newRef As Reference
   newRef = vsProject.References.Add("C:\WINNT\System32\msmask32.ocx")
   MsgBox(GetRefTypeName(newRef))
        
   ' Add an Assembly reference and display its type, "Assembly".
   newRef = vsProject.References.Add("C:\SomeProject\bin\SomeProject.dll")
   MsgBox(GetRefTypeName(newRef))
End Sub

Private Function GetRefTypeName(ByVal ref As Reference) _
   As String
   Dim type As String
   Select Case ref.Type
      Case prjReferenceType.prjReferenceTypeActiveX
         type = "COM"
      Case prjReferenceType.prjReferenceTypeAssembly
         type = "Assembly"
   End Select
   Return type
End Function

参照のプロパティの簡単なレポートを作成する例を次に示します。

' Macro Editor
' Create a small report about a reference.
Imports VSLangProj
Function ReportReferences(ByVal aRef As Reference) As String
   Dim report As String = ""
   Dim type As String
   ' Each entry in the ArrayList will contain a label and a value.
   Dim ht As System.Collections.ArrayList = _
      New System.Collections.ArrayList()
   With aRef
      ht.Add(New String() {"Name", .Name})
      ht.Add(New String() {"Description", .Description})
      ht.Add(New String() {"Version", String.Format("{0}.{1}.{2}.{3}", _
         .MajorVersion, .MinorVersion, .BuildNumber, .RevisionNumber)})
      ht.Add(New String() {"Location", .ContainingProject.FullName})
      Select Case .Type
         Case prjReferenceType.prjReferenceTypeActiveX
            type = "COM"
         Case prjReferenceType.prjReferenceTypeAssembly
            type = "Assembly"
      End Select
      ht.Add(New String() {"Type", type})
      ht.Add(New String() {"Culture", .Culture})
   End With
        
   Dim datas() As String
   For Each datas In ht
      report &= datas(0) & ControlChars.Tab & datas(1) & ControlChars.CrLf
   Next
   Return report
End Function

参照

関連項目

VSLangProj 名前空間