Há alguns dias me deparei com uma situação (entenda-se problema) nova em um projeto e, após encontrar a solução, resolvi postar a dica aqui no site para ajudar aqueles que estão passando por situação semelhante.
O problema
Estava trabalhando em um projeto do tipo console application com C# no Visual Studio. Ao adicionar a referência para uma dll terceira e após, realizar o build do mesmo, a IDE apresentou as mensagens apresentadas pela Figura 1.
Figura 1. Console de erros apresentado pelo Visual Studio
Após verificar se realmente a dll à qual estava referenciando se encontrava naquele caminho no caminho especificado, remover e adicionar novamente a referência para o arquivo, reinicar o computador, etc., ainda sem obter sucesso, resolvi procurar outras opções. Seguindo uma dica do Marcio Althmann (@marcioalthmann) recorri a pesquisa em sites de busca para encontrar a solução.
A solução
A dica foi: “… confere versão da .NET framework do seu projeto …”. Ao procurar a informação sobre qual versão da .NET framework nas propriedades do projeto eu estava utilizando, me deparei com a informação apresentada pela Figura 2.
Figura 2. Versão utilizada no momento em que o problema se apresentou
Afim de testar, alterei este status de “.NET Framework 4 Client Profile” para “.NET 4 Framework“. Para minha surpresa, após a alteração, o projeto foi compilado com sucesso e a aplicação apresentou o resultado esperado. A Figura 3 apresenta o projeto com este status alterado.
Figura 3. Alteração da framework utilizada
Quais as diferenças? Quando utilizar um ou o outro?
Sou uma pessoa curiosa e como tal, gosto de saber o porque das coisas. Assim, fui pesquisar as diferenças entre os dois perfis da framework. A explicação detalhada da diferença entre as versões está na biblioteca do MSDN. Você pode efetuar a leitura clicando aqui.
De forma resumida temos as seguintes diferenças:
-
.NET 4 Framework Client Profile: um conjunto compacto de recursos da framework destinado principalmente a construção de aplicações locais (Windows Forms, WPF, Console Application, etc.). Por padrão, o Visual Studio a seleciona se o recurso estiver disponível.
-
.NET 4 Framework (full): é o pool completo de recursos da framework. Deve ser selecionado quando o projeto demanda conexões a serviços externos, aplicações web (ASP.NET), Providers de acesso a dados de terceiros, etc.
Conclusão
Quando for iniciar um novo projeto de software utilizando Visual Studio, examine com cuidado sua necessidade e selecione o target correto de sua framework.
Se estiver encontrando um problema semelhante ao mencionado neste texto, vale a pena tentar realizar o procedimento descrito aqui.
Por hoje é só. Grande abraço a todos! 🙂
Facebook
Twitter
Instagram
LinkedIn
RSS