Reference2 介面
擴充 VSLangProj 命名空間的 Reference 介面。
命名空間: VSLangProj2
組件: VSLangProj2 (在 VSLangProj2.dll 中)
語法
'宣告
<GuidAttribute("4FFF24C5-5644-4A47-A48A-B74C3F1F8FC8")> _
Public Interface Reference2 _
Inherits Reference
[GuidAttribute("4FFF24C5-5644-4A47-A48A-B74C3F1F8FC8")]
public interface Reference2 : Reference
[GuidAttribute(L"4FFF24C5-5644-4A47-A48A-B74C3F1F8FC8")]
public interface class Reference2 : Reference
[<GuidAttribute("4FFF24C5-5644-4A47-A48A-B74C3F1F8FC8")>]
type Reference2 =
interface
interface Reference
end
public interface Reference2 extends Reference
Reference2 型別會公開下列成員。
屬性
名稱 | 說明 | |
---|---|---|
BuildNumber | 取得參考的組建編號。唯讀。 (繼承自 Reference)。 | |
BuildNumber | 取得參考的組建編號。唯讀。 | |
Collection | 取得集合,內含支援這個屬性的物件或這個程式碼建構中的物件。 (繼承自 Reference)。 | |
Collection | 取得 References 的集合。 | |
ContainingProject | 取得選定項目所屬專案。唯讀。 (繼承自 Reference)。 | |
ContainingProject | 取得含有此參考的 Project。 | |
CopyLocal | 決定是否複製參考到本地的 bin 路徑。 (繼承自 Reference)。 | |
CopyLocal | 決定是否複製參考到本地的 bin 路徑。 | |
Culture | 取得參考的文化特性字串。唯讀。 (繼承自 Reference)。 | |
Culture | 取得參考的文化特性字串。唯讀。 | |
Description | 取得參考的文字描述。唯讀。 (繼承自 Reference)。 | |
Description | 取得參考的文字描述。唯讀。 | |
DTE | 取得最上層的擴充性物件。 (繼承自 Reference)。 | |
DTE | 取得最上層的擴充性物件。 | |
Extender[String] | 取得要求的擴充項物件 (如果適用於這個物件)。 (繼承自 Reference)。 | |
Extender[String] | 傳回要求的擴充項 (Extender) 物件 (如果存在的話)。 | |
ExtenderCATID | 取得物件的擴充項分類 ID (CATID)。 (繼承自 Reference)。 | |
ExtenderCATID | 取得物件的擴充項分類 ID (CATID)。 | |
ExtenderNames | 取得物件的可用擴充項清單。 (繼承自 Reference)。 | |
ExtenderNames | 取得物件的可用擴充項清單。 | |
Identity | 取得參考的唯一識別項。唯讀。 (繼承自 Reference)。 | |
Identity | 取得參考的唯一識別項。唯讀。 | |
MajorVersion | 取得參考的主要版本號碼。唯讀。 (繼承自 Reference)。 | |
MajorVersion | 取得參考的主要版本號碼。唯讀。 | |
MinorVersion | 取得參考的次要版本號碼。唯讀。 (繼承自 Reference)。 | |
MinorVersion | 取得參考的次要版本號碼。唯讀。 | |
Name | 取得物件的名稱。唯讀。 (繼承自 Reference)。 | |
Name | 取得物件的名稱。唯讀。 | |
Path | 取得參考檔的路徑。唯讀。 (繼承自 Reference)。 | |
Path | 取得參考檔的路徑。唯讀。 | |
PublicKeyToken | 取得所參考組件的公開金鑰語彙基元。 (繼承自 Reference)。 | |
PublicKeyToken | 取得所參考組件的公開金鑰語彙基元。 | |
RevisionNumber | 取得參考的修訂編號。唯讀。 (繼承自 Reference)。 | |
RevisionNumber | 取得參考的修訂編號。唯讀。 | |
RuntimeVersion | 取得和設定據以建置參考之執行階段的版本。唯讀。 | |
SourceProject | 如果參考是專案,則會取得 Project 物件。否則會傳回 Nothing (nullNull 參照 (即 Visual Basic 中的 Nothing) 參考)。唯讀。 (繼承自 Reference)。 | |
SourceProject | 如果參考是專案,則會取得 Project 物件。否則會傳回 Nothing (nullNull 參照 (即 Visual Basic 中的 Nothing) 參考)。唯讀。 | |
StrongName | 取得參考是否已用公開/私密金鑰組 (Key Pair) 加上簽章。唯讀。 (繼承自 Reference)。 | |
StrongName | 取得參考是否已用公開/私密金鑰組 (Key Pair) 加上簽章。唯讀。 | |
Type | 取得 prjReferenceType 值,表示參考為組件或 COM 元件。唯讀。 (繼承自 Reference)。 | |
Type | 取得 prjReferenceType 值,表示參考為組件或 COM 元件。唯讀。 | |
Version | 取得選定參考的版本。 (繼承自 Reference)。 | |
Version | 取得選定參考的版本。 |
回頁首
方法
名稱 | 說明 | |
---|---|---|
Remove() | 從包含參考的 References 物件中取得參考。 (繼承自 Reference)。 | |
Remove() | 從包含參考的 References 物件中移除參考。 |
回頁首
備註
VSProject 物件的 References 集合所傳回的 Reference 物件,同時支援 Reference 介面與 Reference2 介面。 將這個物件轉換成 Reference2 就可以存取 Reference2 成員。
Reference2 會定義 VSLangProj 命名空間中的所有 Reference 成員,以及:
範例
下列範例將利用樣板建立新的專案、新增兩個參考並顯示它們的類型。
'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
下列範例將建立參考屬性 (Property) 的簡式報表。
' 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