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: System.Boolean
A boolean hodnotu označující, zda je odkaz zkopírovat.
Poznámky
V době běhu musí existovat odkaz v globální mezipaměť sestavení (GAC) nebo výstupní cestu projektu.Pokud je tato vlastnost nastavena na true, odkaz je zkopírován do výstupní cesta projektu v době spuště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 jednom z těchto míst, pak při vytváření projektu odkaz musí být zkopírovány do cesty výstup projektu.CopyLocal Vlastnost označuje, zda je třeba mít k této kopie.Pokud je hodnota true, odkaz je zkopírován.Pokud false, odkaz nebude zkopírován.
Společný jazykový modul runtime nesleduje změny k odkazu na určení, pokud je třeba aktualizovat místní kopie.Změny jsou sledovány systémem projektu.Tak dlouho, dokud není uživatel přepsala CopyLocal vlastnost na hodnotu automaticky aktualizován systém projektu podle potřeby.
Hodnota přiřazená projektu CopyLocal vlastnost je určena v následujícím pořadí:
Pokud je odkaz na jiný projekt, nazvaný odkaz na projekt k projektu, pak je hodnota true.
Pokud je odkaz Visual Studio.NET Framework sestavení, pak hodnota je false.
Pokud odkaz na sestavení odpovídá Visual Studio.NET Framework silný název sestavení s výjimkou číslo verze (například Visual Studio 2003 sestavení, například), pak je hodnota false.
Pokud je odkaz na sestavení .NET Framework adresáře, a potom je hodnota false.
Pokud je odkaz na sestavení v mezipaměti GAC, je hodnota je false.
Jinak 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áře.
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 Jak: kompilace a spuštění příkladů kódu automatizace objektu modelu.
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
- Plná důvěra přímému volajícímu. Částečně zabezpečený kód nemůže tento člen použít. Další informace naleznete v tématu Používání knihoven z částečně důvěryhodného kódu.