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
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: Boolean
A boolean hodnota označující, zda odkaz je zkopírován.

Poznámky

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

V době spuštění sestavení musí být na dvou místech: Výstupní cesta projektu nebo globální mezipaměť sestavení (GAC) (viz Práce se sestaveními a s globální pamětí sestavení).Pokud projekt obsahuje odkaz na objekt, který není v jednom z těchto míst, pak při sestavení projektu odkaz musí být zkopírován do výstupní cesta projektu.CopyLocal Vlastnost označuje, zda tato kopie musí být přijata.Pokud je hodnota true, odkaz je zkopírován.Pokud false, odkaz není kopírován.

Společný jazykový modul runtime nesleduje změny na odkaz chcete-li zjistit, pokud je nutné aktualizovat místní kopie.Systém projektu jsou sledovány změny.Tak dlouho, dokud uživatel nebyl přepsán CopyLocal vlastnost, hodnota se automaticky aktualizuje tak, že 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, nazývá odkaz projektu do projektu, pak je hodnota true.

  2. Pokud je odkaz Visual Studio.NET Framework sestavení, pak hodnota je false. 

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

  4. Pokud je odkaz na sestavení v .NET Framework adresář, pak je hodnota false.

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

  6. Jinak je hodnota true.

4 výše uvedené číslo není totožné s číslem 3 protože .NET Framework složka SDK není totéž jako .NET Framework adresáře.

Příklady

Tento příklad zobrazuje CopyLocal hodnoty pro všechny odkazy v otevřené Visual Basic nebo Visual C# projektu.Chcete-li spustit tento příklad jako doplněk, viz Postupy: Kompilace a spuštění příkladů kódu objektu automatizace.

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é

Referenční dokumentace

Reference3 Rozhraní

VSLangProj80 – obor názvů