Compartilhar via


Gerenciando referências do projeto

Antes de escrever um código contra um componente externo, seu projeto deve conter uma referência a esse componente.Uma referência pode ser feita aos seguintes tipos de componentes:

  • Referências de aplicativo do Windows Store

  • Bibliotecas de classes do .NET Framework ou assemblies

  • Componentes COM

  • Outros conjuntos de módulos (assemblies) ou bibliotecas de classes de projetos na mesma solução

  • Serviços Web XML

Para obter mais informações sobre referências de Serviços Web XML, consulte Web References.

Referências de aplicativo do Windows Store

Referências do projeto

Os projetos do Windows Store que se destinam ao Windows 8 não podem depender de projetos ou binários do Windows Store que se destinam ao Windows 8,1.

Se qualquer projeto em seu aplicativo for destinado ao Windows 8,1 e o aplicativo consistir em um projeto C++ da Windows Store, você precisará seguir as seguintes etapas:

  1. Redirecionar todos os projetos de seu aplicativo para Windows 8,1.Clique com o botão direito do mouse em cada projeto em seu aplicativo e selecione o comando de Retarget a Windows 8.1 , depois clique em OK na caixa de diálogo Examinar Alterações de Projeto e da Solução .

  2. Clique com o botão direito do mouse em cada projeto Visual Basic, Visual C#, e de JavaScript que depende do projeto de C++ Windows Store, escolha Adicionar Referência, vá para a guia Janelas , depois para a sub-guia de Extensões , desmarque Pacote de tempo de execução v11.0 do Microsoft Visual C++ e verifica Pacote de tempo de execução v12.0 do Microsoft Visual C++, então clique OK.

Os projetos do Visual Basic, C# e JavaScript Windows Store que se destinam ao Windows 8,1 podem referenciar projetos do Visual Basic e do C# Windows Store que se destinam ao Windows 8, desde que esses projetos não usem as APIs que foram substituídas no Windows 8,1.Consulte Migrando aplicativos Windows 8 para visualização do Windows 8.1 para descobrir se os projetos do Windows Store destinados a Windows 8 continuarão a se comportar conforme o esperado quando referenciados de um projeto de Windows 8,1 .

Referências do SDK de extensão

Os projetos do Visual Basic, do C#, do C++ e do JavaScript Windows Store que se destinam ao Windows 8,1 não podem fazer referência à extensão SDKs que depende do pacote de tempo de execução v11.0 do Microsoft Visual C++, porque isso causará problemas de tempo de execução.Você pode descobrir se uma extensão SDK depende do Microsoft Visual C++ Runtime Package v11.0 criando um novo projeto C# Windows Store, clicando com o botão direito do mouse no projeto e escolhendo Adicionar Referência, indo para a guia Windows, então a subguia Extensões, selecionando a extensão SDK e verificando se o painel direito em Gerenciador de referências lista Microsoft.VCLibs, version = 11.0 como uma dependência.

Os projetos do Visual Basic, do C# e do JavaScript Windows Store que se destinam ao Windows 8,1 podem fazer referência a extensão SDKs que não depende do pacote de tempo de execução v11.0 do Microsoft Visual C++, desde que essa extensão SDKs não use as APIs que foram substituídas no Windows 8,1.Verifique o fornecedor do SDK de Extensão para descobrir se ele pode ser referenciado por projetos da Windows Store destinados a Windows 8,1.

Se você determinar que a extensão SDK sendo referenciada pelo seu aplicativo não tiver suporte, então precisará executar as seguintes etapas:

  1. Procure o nome do projeto que está causando o erro.A plataforma à qual seu projeto está destinado é indicada entre parênteses ao lado do nome do projeto.Por exemplo, MyProjectName (Windows 8.1) significa que seu projeto MyProjectName tem como alvo versão Windows 8,1 da plataforma.

  2. Vá para o site do fornecedor que possui o SDK da extensão sem suporte e instale a versão do SDK da extensão com dependências que for compatível com a versão da plataforma à qual seu projeto é destinado.

    ObservaçãoObservação

    Uma forma de descobrir se a Extensão SDK instalada anteriormente tem dependências em outra extensão SDK, é reiniciar o Visual Studio, criar um novo projeto C# Windows Store, clicar com o botão direito do mouse no projeto e selecionar Adicionar Referência, ir para a guia Janelas , ir para a subguia Extensões, selecionar a extensão SDK e ver o painel direito no Gerenciador de Referências.Se ele tiver dependências, elas serão listadas lá.

    Observação importanteImportante

    Se seu projeto for destinado ao Windows 8,1 e o SDK de Extensão instalado na etapa anterior tiver uma dependência no Pacote de Tempo de Execução do Microsoft Visual C++, a versão do Pacote de Tempo de Execução do Microsoft Visual C++ compatível com o Windows 8.1 será a v12.0 e será instalada com o Visual Studio 2013.

  3. Se o SDK da extensão que você instalou na etapa anterior tiver dependências de outros SDKs de extensão, vá para o(s) site(s) do(s) fornecedor(es) proprietários das dependências e instale as versões dessas dependências que sejam compatíveis com a versão da plataforma à qual seu projeto é destinado.

  4. Reinicie o Visual Studio e abra seu aplicativo.

  5. Clique com o botão direito do mouse no projeto que causou o erro e escolha Adicionar Referência (no caso de projetos Visual Basic, C#, ou de JavaScript, ou de Referências (no caso de projetos do C++).Para projetos C++, clique no botão Adicionar Nova Referência.

  6. Clique na guia Windows e na subguia Extensões. Em seguida, desmarque as caixas de seleção dos antigos SDKs de Extensão e marque as caixas de seleção dos novos SDKs de Extensão.Clique em OK.

Adicionando uma referência no Tempo de Design

Para adicionar uma ou mais referências no tempo de design, use a caixa de diálogo Gerenciador de Referências ou a caixa de diálogo Adicionar Referência, dependendo do tipo de projeto que você está criando.Use a caixa de diálogo do Gerenciador de Referências para todos os aplicativos do Windows Store e a maioria dos outros tipos de projetos.Para obter mais informações, consulte Como: Adicionar ou remover referências usando o Gerenciador de Referências.Alguns outros tipos de projetos oferecem suporte à caixa de diálogo Adicionar Referência .Para obter mais informações, consulte Como adicionar ou remover referências usando a caixa de diálogo Adicionar Referência.

Você também pode usar a caixa de diálogo Adicionar Referência para procurar em assemblies que não estão listados.Não é possível adicionar referências de Cache de assemblies global (GAC), pois esta é parte estrita do ambiente de tempo de execução.

Quando você faz uma referência a um conjunto em seu projeto, Visual Studio procura o assembly nos seguintes locais:

  • O diretório do projeto atual. (É possível encontrar esses conjuntos de módulos (assemblies) usando a guia Procurar.)

  • Outros diretórios de projeto na mesma solução. (É possível encontrar esses conjuntos de módulos (assemblies) na guia Projetos.)

Para obter mais informações sobre como adicionar referências em tempo de design, consulte Como adicionar ou remover referências usando a caixa de diálogo Adicionar Referência.

ObservaçãoObservação

Todos os projetos contém uma referência implícita ao mscorlib.Os projetos do Visual Basic contêm uma referência implícita ao Microsoft.VisualBasic.

Todos os projetos no Visual Studio contém uma referência implícita a System.Core, mesmo se System.Core for removido da lista de referências.

Referências a componentes compartilhados em tempo de execução

Em tempo de execução, componentes devem estar no caminho de saída do projeto ou no Cache de assemblies global (GAC).Se o projeto contiver uma referência a um objeto que não esteja em um desses locais, a referência deve ser copiada para o caminho de saída do projeto quando o projeto é criado.A propriedade CopyLocal indica se esta cópia precisa ser feita.Se o valor for Verdadeiro, a referência é copiada para a pasta do projeto ao criar o projeto.Se o valor for Falso, a referência não é copiada.

Se você implantar um aplicativo que contém uma referência a um componente personalizado que está registrado no GAC, o componente não será implantado com o aplicativo, independentemente da configuração CopyLocal.Em versões anteriores do Visual Studio, você pode definir a propriedade CopyLocal em uma referência para garantir que o assembly foi implantado.Agora, você deve adicionar manualmente o assembly à pasta \Bin.Isso coloca todo código personalizado sob exame detalhado, reduzindo o risco de publicar um código personalizado com o qual você não está familiarizado.

Por padrão, a propriedade CopyLocal está definida como False se o assembly ou componente estiver no cache global de assemblies ou for um componente de estrutura.Caso contrário, o valor é definido como Verdadeiro.Referências de projeto-a-projeto são sempre definidas como Verdadeiro.

Referenciando Projeto ou um Assembly que Tem como Alvo uma Versão Diferente do .NET Framework

Você pode criar aplicativos que fazem referência a projetos ou assemblies destinados a uma versão diferente do .NET Framework.Por exemplo, você pode criar um aplicativo que destine o .NET Framework 4 Client Profile que faz referência a um assembly destinado a .NET Framework 2,0.Se você criar um projeto que tenha como destino uma versão anterior do .NET Framework, não poderá definir uma referência no projeto para um projeto ou assembly que tenha como destino o .NET Framework 4 Client Profile ou o .NET Framework versão 4.

Para obter mais informações, consulte Destinando uma versão do .NET Framework específica ou perfil.

Referências projeto-a-Projeto e referências de arquivos

Referências de arquivo são referências diretas para conjuntos de módulos (assemblies); você os cria usando a guia Procurar da caixa de diálogo Adicionar Referência.Referências projeto-a-projeto são referências a projetos que contenham conjuntos de módulos (assemblies); você os cria usando a guia Projeto da caixa de diálogo Adicionar Referência.

A vantagem de uma referência projeto a projeto é que ele cria uma dependência entre os projetos no sistema de compilação.Portanto, o projeto dependente será criado se ele tiver sofrido alterações desde a última vez que o projeto de referência foi criado.Uma referência de arquivo não cria uma dependência de compilação, portanto, é possível criar o projeto de referência sem a criação do projeto dependente, e a referência pode se tornar obsoleta. (Ou seja, o projeto pode referenciar uma versão anteriormente criada do projeto.) Isso pode resultar em várias versões de uma única DLL sendo necessárias no diretório Bin, o que não é possível.Quando esse conflito ocorre, você verá uma mensagem como Aviso: o 'arquivo' de dependência no projeto 'projeto' não pode ser copiada para o diretório de execução porque ela substituiria o 'arquivo' de referência..

Você deve evitar adicionar referências de arquivo a saídas de outro projeto na mesma solução, porque isso pode causar erros de compilação.Em vez disso, use a guia Projects da caixa de diálogo Adicionar Referência para criar referências de projeto a projeto, dentro da mesma solução.Isso torna o desenvolvimento em equipe mais fácil, permitindo melhor gerenciamento das bibliotecas de classes criadas em seus projetos.Para obter mais informações, consulte Solucionando Problemas de Referências Quebradas e Como criar e remover dependências de projeto.

ObservaçãoObservação

Uma referência de arquivo em vez de uma referência de projeto é criada se a versão de destino do .NET Framework de um projeto é a versão 4.5, e a versão de destino de outro projeto é a versão 2, 3, 3.5, ou 4.0.

Referências Web

Você também pode adicionar referências Web na caixa de diálogo Adicionar Referência Web.Para obter mais informações, consulte How to: Add and Remove Web References.

Consulte também

Tarefas

Solucionando Problemas de Referências Quebradas

Como adicionar ou remover referências usando a caixa de diálogo Adicionar Referência

Conceitos

Como: Adicionar ou remover referências usando o Gerenciador de Referências

Outros recursos

Referencing Namespaces and Components

Managing References

Programação com assemblies