VSProject2.References 属性

获取项目的 References 集合。

命名空间:  VSLangProj80
程序集:  VSLangProj80(在 VSLangProj80.dll 中)

语法

声明
ReadOnly Property References As References
References References { get; }
property References^ References {
    References^ get ();
}
abstract References : References with get
function get References () : References

属性值

类型: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 安全性

请参阅

参考

VSProject2 接口

VSLangProj80 命名空间

References