次の方法で共有


Reference インターフェイス

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

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

構文

'宣言
<GuidAttribute("35D6FB50-35B6-4C81-B91C-3930B0D95386")> _
Public Interface Reference
'使用
Dim instance As Reference
[GuidAttribute("35D6FB50-35B6-4C81-B91C-3930B0D95386")] 
public interface Reference
[GuidAttribute(L"35D6FB50-35B6-4C81-B91C-3930B0D95386")] 
public interface class Reference
/** @attribute GuidAttribute("35D6FB50-35B6-4C81-B91C-3930B0D95386") */ 
public interface Reference
GuidAttribute("35D6FB50-35B6-4C81-B91C-3930B0D95386") 
public interface Reference

解説

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

参照

関連項目

Reference メンバ
VSLangProj 名前空間