Sdílet prostřednictvím


Reference3.CopyLocal – vlastnost

Získá nebo nastaví, zda odkaz je zkopírován do přihrádky místní cesta.

Obor názvů:  VSLangProj80
Sestavení:  VSLangProj80 (v VSLangProj80.dll)

Syntaxe

'Deklarace
Property CopyLocal As Boolean
    Get
    Set
bool CopyLocal { get; set; }
property bool CopyLocal {
    bool get ();
    void set (bool value);
}
abstract CopyLocal : bool with get, set
function get CopyLocal () : boolean
function set CopyLocal (value : boolean)

Hodnota vlastnosti

Typ: System.Boolean
A boolean hodnotu označující, zda je odkaz zkopírovat.

Implementuje

Reference2.CopyLocal

Poznámky

V době běhu musí existovat odkaz ve globální mezipaměť sestavení (GAC) nebo výstupní cestu projektu. Pokud je tato vlastnost nastavena na true, odkaz zkopírováno do výstupní cesta projektu v čase zpracování.

Při spuštění sestavy musí být na dvou místech: výstupní cesta projektu nebo globální mezipaměť sestavení (GAC) (viz Práce se sestaveními a globální mezipamětí sestavení (GAC)). Pokud projekt obsahuje odkaz na objekt, který není v některém z těchto míst, pak při vytváření projektu odkaz musí být zkopírovány do výstupní cestu projektu. CopyLocal Vlastnost označuje, zda je nutné nastavit tuto kopii. Pokud je hodnota true, odkaz je zkopírován. Pokud false, odkaz zkopírován.

Společný jazykový modul runtime sledovat změny Reference k určení, pokud je třeba aktualizovat místní kopie. Změny jsou sledovány systémem projektu. Jako uživatel potlačil CopyLocal vlastnost na hodnotu automaticky aktualizuje systém projektu podle potřeby.

Hodnota přiřazená projektu CopyLocal vlastnost je určena v následujícím pořadí:

  1. Pokud je odkaz na jiný projekt nazvaný projekt do projektu odkaz pak hodnota je true.

  2. Pokud je odkaz Visual Studio .NET Framework montáž, pak hodnota je false.

  3. Pokud odkaz na sestavení odpovídá Visual Studio .NET Framework silný název sestavení s výjimkou pro číslo verze (například Visual Studio 2003 sestavení, například), pak je hodnota false.

  4. Pokud je odkaz na sestavení .NET Framework je adresář, klepněte na hodnotu false.

  5. Pokud je odkaz na sestavení v mezipaměti GAC, bude hodnota false.

  6. V opačném případě je hodnota true.

Číslo 4 výše není stejné jako číslo 3 protože .NET Framework SDK složka není totéž jako .NET Framework adresáři.

Příklady

Tento příklad zobrazí CopyLocal hodnoty pro všechny odkazy v otevření Visual Basic nebo Visual C# projektu. Chcete-li spustit tento příklad-in, viz How to: Compile and Run the Automation Object Model Code Examples.

Imports VSLangProj
Imports VSLangProj2
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)
     DisplayCopyLocalValues(applicationObject)
End Sub
Public Sub DisplayCopyLocalValues(ByVal dte As DTE2)
    ' The first project is a Visual Basic or C# project.
    Dim vsProject As VSProject2 = _
    CType(applicationObject.Solution.Projects.Item(1).Object, _
    VSProject2)
    Dim aRef As Reference3
    Dim refStr As String
    refStr = ""
    For Each aRef In vsProject.References
        refStr += (aRef.Name & "'s CopyLocal value is:  " & _
        aRef.CopyLocal.ToString() & vbCr& vbCr)
    Next
    MsgBox(refStr)
End Sub
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;
    DisplayCopyLocalValues(((DTE2)applicationObject));
}
public void DisplayCopyLocalValues(DTE2 dte)
{
    // The first project is a Visual Basic or C# project.
    VSProject2 vsProject = 
((VSProject2)(applicationObject.Solution.Projects.Item(1).Object));
    Reference aRef = null;
    string refStr = null;
    refStr = "";
    foreach (VSLangProj80.Reference3 temp in vsProject.References)
    {
        aRef = temp;
        refStr += (aRef.Name + "'s CopyLocal value is:   " 
+ aRef.CopyLocal.ToString() + "\n" + "\n");
    }
    MessageBox.Show(refStr);
}

Zabezpečení rozhraní .NET Framework

Viz také

Odkaz

Reference3 Rozhraní

CopyLocal – přetížení

VSLangProj80 – obor názvů