Partilhar via


Solução de problemas.Erros de direcionamento do NET Framework

Visual Studiopermite que você distribua um leve .NET Framework tempo de execução, conhecido como o .NET Framework 4 Client Profile, que é um runtime que inclui apenas um subconjunto dos binários que estão contidos no .NET Framework 4. Usando .NET Framework 4 Client Profile, você pode distribuir um menor .NET Framework biblioteca para os usuários do seu aplicativo para que eles possam executar o mesmo se aplicativo completo .NET Framework 4 não está instalado em seus sistemas.

Quando seu aplicativo destina-se a um perfil específico, você pode encontrar erros se você tentar fazer referência a um assembly que não faz parte do perfil. Erros comuns incluem o seguinte:

  • O nome do namespace ou tipo "nome" não existe no namespace "namespace". (Está faltando uma referência de assembly?)

  • Tipo "typename" não está definido.

  • Não foi possível resolver o assembly "assembly". O assembly não está listado como parte do "perfil" Perfil.

Esses erros podem resultar de ações diferentes. Este tópico inclui descrições sobre o que pode ter causado o erro e como resolver o problema.

Para obter mais informações sobre o .NET Framework 4 Client Profile, consulte .NET Framework Client Profile e Como: Destino de um específico.NET Framework versão ou perfil.

Você referenciou um Assembly que não está incluído no perfil do cliente

Se seu aplicativo tenta fazer referência a funcionalidade que está contida em um assembly ou assembly dependente que não está incluído na .NET Framework 4 Client Profile, mensagens de erro de tempo de execução podem ocorrer. A mensagem exata depende de onde se encontra a funcionalidade referenciada. Para eliminar tais erros, você pode remover a referência de montagem incorreta do projeto, ou definir o projeto de destino completo .NET Framework versão 4 em vez da .NET Framework 4 Client Profile biblioteca de subconjunto.

Você referenciou 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 diferentes versões da .NET Framework. Por exemplo, se você criar um aplicativo voltado para o .NET Framework 4 Client Profile, que o project pode fazer referência a um assembly que se destina.NET Framework versão 2.0. No entanto, se você criar um projeto que lançará 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 o .NET Framework 4. Para eliminar o erro, certifique-se de que o perfil de destino por seu aplicativo é compatível com o perfil de alvo de projetos ou assemblies referenciados pelo seu aplicativo.

Você tem Re-Targeted um projeto para uma versão diferente da.NET Framework

Se você alterar a versão de destino a .NET Framework para seu aplicativo, Visual Studio altera algumas das referências. No entanto, você também deve fazer algumas atualizações manuais. Por exemplo, se você criar um aplicativo que tenha recursos ou configurações que contam com o .NET Framework 4 Client Profile e altere o aplicativo de destino.NET Framework 3.5 SP1, você poderá ver um dos erros mencionados anteriormente.

Como solução alternativa para as configurações do aplicativo em Solution Explorer, clique em Mostrar todos os arquivose edite o arquivo app. config no Editor de XML Visual Studio. Alterar a versão em configurações para coincidir com a versão do.NET Framework. Por exemplo, você pode alterar a configuração de versão da 4.0.0.0 para 2.0.0.0. Da mesma forma para um aplicativo que adicionou recursos, Solution Explorer, clique em Mostrar todos os arquivos, expanda My Project (Visual Basic) ou Propriedades (C#) e em seguida, edite o arquivo Resources. resx no Editor de XML Visual Studio. Altere a configuração de versão da 4.0.0.0 para 2.0.0.0.

Se seu aplicativo tem recursos como, por exemplo, ícones ou bitmaps ou tem configurações como, por exemplo, seqüências de conexão de dados, você também pode remediar o problema removendo todos os itens na configurações página o Project Designer e, em seguida, adicionar as configurações necessárias. For more information, see Página de configurações, Designer de projeto..

Você tem Re-Targeted um projeto para uma versão diferente da.NET Framework e referências não resolverem

Em alguns casos, quando você redirecionar um projeto para uma versão diferente da .NET Framework, as referências não podem resolver corretamente, uma causa comum para isso é referências explícitas totalmente qualificado para assemblies. Para corrigir o problema removendo as referências que não resolverem e, em seguida, adicioná-los de volta para o projeto. Como alternativa, você pode editar o arquivo de projeto para remover referências do formulário:

<Reference Include="System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />

e substituí-los com a forma simples:

<Reference Include="System.ServiceModel" />
ObservaçãoObservação

Após fechar e reabrir o projeto, você também deve reconstrui-la para garantir que todas as referências são resolvidas corretamente.

Consulte também

Tarefas

Como: Destino de um específico.NET Framework versão ou perfil

Conceitos

.NET Framework Client Profile

Outros recursos

Direcionamento de um específico.NET Framework versão ou perfil