VSProject2.References 属性
获取项目的 References 集合。
命名空间: VSLangProj80
程序集: VSLangProj80(在 VSLangProj80.dll 中)
语法
声明
ReadOnly Property References As References
Get
References References { get; }
property References^ References {
References^ get ();
}
abstract References : References
function get References () : References
属性值
类型:VSLangProj.References
包含有 Reference 对象的 References 集合,其中每个对象都表示一个引用。
实现
备注
若要对外部组件编写代码,项目必须首先包含对该组件的引用。 可对三种类型的组件进行引用:.NET 程序集、COM 自动化服务器和控件,以及同一解决方案中公开组件的其他项目。
示例
若要将此示例作为外接程序运行,请参见如何:编译和运行自动化对象模型代码示例。 此示例假定解决方案中的第一个项目为 Visual Basic 或 Visual C# 项目。
[Visual Basic]
' Add-in.
' Assuming that the first project in the solution is a Visual Basic
' or C# application, this routine lists the references
' in the project.
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)
ListReferences(applicationObject)
End Sub
Sub ListReferences(ByVal dte As DTE2)
' Retrieve the VSProject2 object.
Dim theVSProject As VSProject2 = _
CType(applicationObject.Solution.Projects.Item(1).Object, _
VSProject2)
' Retrieve the references collection.
Dim refs As References = theVSProject.References
' Create a string list of the reference names.
Dim refList As String = ""
Dim aRef As Reference3
For Each aRef In refs
refList &= aRef.Identity & ControlChars.CrLf
Next
MsgBox(refList)
End Sub
[C#]
// Add-in.
// Assuming that the first project in the solution is a Visual Basic
// or C# application, this routine lists the references
// in the project.
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;
ListReferences((DTE2)applicationObject);
}
public void ListReferences( DTE2 dte )
{
// Retrieve the VSProject2 object.
VSProject2 theVSProject = ( ( VSProject2 )
(applicationObject.Solution.Projects.Item( 1 ).Object ) );
// Retrieve the references collection.
References refs = theVSProject.References;
// Create a string list of the reference names.
string refList = "";
Reference3 aRef = null;
foreach ( VSLangProj80.Reference3 temp in refs )
{
aRef = temp;
refList += aRef.Identity + "\n";
}
MessageBox.Show( refList);
}
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。