Partilhar via


Referências do projeto

In order to write code against an external component, your project must first contain a reference to it. You can make a reference to the following types of components:

  • .NET Framework class libraries or assemblies

  • COM components

  • Other assemblies or class libraries of projects in the same solution

  • XML Web services

For more information about XML Web service references, see Referências da Web no Visual Studio.

Adding References at Design Time

Use a caixa de diálogo Add Reference para adicionar referências a componentes em tempo de design.

Você pode usar o Add Reference caixa de diálogo para procurar os assemblies não listados. You cannot add references from the Cache global de assemblies (GAC), as it is strictly part of the run-time environment.

When you make a reference to an assembly in your project, Visual Studio searches for the assembly in the following locations:

  • The current project directory. (You can find these assemblies by using the Browse tab.)

  • Other project directories in the same solution. (You can find these assemblies on the Projects tab.)

For more information about how to add references at design time, see Como: Adicionar ou remover referências no Visual Studio.

ObservaçãoObservação

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

Em 2010 Visual Studio, todos os projetos contêm uma referência implícita ao System.Core, mesmo se o System.Core é removido da lista de referências.

References to Shared Components at Run Time

At run time, components must be either in the output path of the project or in the Cache global de assemblies (GAC). If the project contains a reference to an object that is not in one of these locations, you must copy the reference to the output path of the project when you build the project. The CopyLocal property indicates whether this copy has to be made. If the value is True, the reference is copied to the project directory when you build the project. If the value is False, the reference is not copied.

If you deploy an application that contains a reference to a custom component that is registered in the GAC, the component will not be deployed with the application, regardless of the CopyLocal setting. In earlier versions of Visual Studio, you could set the CopyLocal property on a reference to ensure that the assembly was deployed. Now, you must manually add the assembly to the \Bin folder. This puts all custom code under scrutiny, reducing the risk of publishing custom code with which you are not familiar.

Por padrão, o CopyLocal for definida como False se o assembly ou componente está no cache global de assemblies ou é um componente do framework. Otherwise, the value is set to True. Project-to-project references are always set to True.

Fazendo referência a um projeto ou Assembly destina-se a uma versão diferente da.NET Framework

Você pode criar aplicativos que fazem referência a projetos ou assemblies destinados a uma versão diferente da.NET Framework. Por exemplo, você criaria um aplicativo voltado para o .NET Framework 4 Client Profile que referencia um assembly que visa .NET Framework versão 2.0. Se você criar um projeto que se destina a uma versão anterior da .NET Framework, você não pode definir uma referência do projeto para um projeto ou assembly voltado para o .NET Framework 4 Client Profile ou.NET Framework versão 4.

For more information, see Direcionamento de um específico.NET Framework versão ou perfil.

Project-to-Project References and File References

File references are direct references to assemblies; you create them by using the Browse tab of the Add Reference dialog box. Project-to-project references are references to projects that contain assemblies; you create them by using the Project tab of the Add Reference dialog box.

The advantage of a project-to-project reference is that it creates a dependency between the projects in the build system. Therefore, the dependent project will be built if it has changed since the last time the referencing project was built. A file reference does not create a build dependency, so it is possible to build the referencing project without building the dependent project, and the reference can become obsolete. (That is, the project can reference a previously built version of the project.) This can result in several versions of a single DLL being required in the bin directory, which is not possible. When this conflict occurs, you will see a message such as Aviso: a dependência 'arquivo' no projeto 'projeto' não podem ser copiados para o diretório de execução porque ele substituiria a referência 'arquivo'..

You should avoid adding file references to outputs of another project in the same solution, because doing this may cause compilation errors. Instead, use the Projects tab of the Add Reference dialog box to create project-to-project references within the same solution. This makes team development easier by allowing for better management of the class libraries you create in your projects. For more information, see Solucionando Problemas de Referências Quebradas and Como: Criar e remover dependências de projeto.

ObservaçãoObservação

Em 2010 Visual Studio, 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 e a versão de destino do outro projeto é 2, 3 ou 3.5.

Web References

You can also add Web references by using the Add Web Reference dialog box. For more information, see Como: adicionar e remover referências da Web.

Consulte também

Tarefas

Solucionando Problemas de Referências Quebradas

Como: Adicionar ou remover referências no Visual Studio

Outros recursos

Referenciando Namespaces e Componentes

Gerenciando referências

Programação com assemblies