Propriedade Reference3.CopyLocal
Obtém ou define se a referência é copiada para o caminho de bin local.
Namespace: VSLangProj80
Assembly: VSLangProj80 (em VSLangProj80.dll)
Sintaxe
'Declaração
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)
Valor de propriedade
Tipo: System.Boolean
A boolean valor que indica se a referência é copiada.
Comentários
Em tempo de execução, uma referência deve existir no cache global de assemblies ou o caminho de saída do projeto.Se essa propriedade estiver definida como true, a referência é copiada para o caminho de saída do projeto em tempo de execução.
Em tempo de execução, os módulos (assemblies) deve estar em um dos dois locais: o caminho de saída do projeto ou o cache global de assemblies (consulte Trabalhando com Assemblies e o Cache Global de assemblies).Se o projeto contém uma referência a um objeto que não está em um desses locais, em seguida, quando o projeto é construído, a referência deve ser copiada para o caminho de saída do projeto.O CopyLocal propriedade indica se esta cópia precisa ser feita.Se o valor for true, a referência é copiada.Se false, a referência não é copiada.
O common language runtime não controla alterações para a referência para determinar se a cópia local precisa ser atualizado.As alterações são controladas pelo sistema do projeto.Desde que o usuário não substituiu o CopyLocal propriedade, o valor é atualizada automaticamente pelo sistema do projeto se necessário.
O valor atribuído pelo projeto da CopyLocal propriedade é determinada na seguinte ordem:
Se a referência é outro projeto, chamado de referência de projeto-para-projeto, então o valor é true.
Se a referência é um Visual Studio.NET Framework assembly e, em seguida, o valor é false.
Se o assembly da referência coincide com um Visual Studio.NET Framework o nome forte, exceto para o número da versão do assembly (como Visual Studio 2003 assemblies, por exemplo), e em seguida, o valor é false.
Se o assembly da referência está na .NET Framework diretório, e em seguida, o valor é false.
Se o assembly da referência está no GAC, então o valor é false.
Caso contrário, o valor é true.
Observe que o número 4 acima não é o mesmo que o número 3 porque a .NET Framework a pasta do SDK não é a mesma coisa que o .NET Framework directory.
Exemplos
Este exemplo exibe o CopyLocal valores para todas as referências em uma abertura Visual Basic ou Visual C# project.Para executar este exemplo como um add-in, consulte Como: compilar e executar os exemplos de código de modelo de objeto de automação.
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);
}
Segurança do .NET Framework
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiáveis.