segunda-feira, 20 de abril de 2015

Problemas de referências com o ASP.Net 5 Beta (CTP)

Não é difícil começar a ter problemas de referência ao utilizar o ASP.NET 5 Beta. Basta criar um projeto de class library para começar a ter erros como os abaixo. Se tiver erros como:
Error    CS0246    The type or namespace name 'List' could not be found (are you missing a using directive or an assembly reference?)
Deve resolver as dependências de projeto no project.json. No caso acima é possível resolver adicionando a seguinte dependência:

 "aspnetcore50": {  
      "dependencies": {  
           "System.Runtime": "4.0.20-beta-22523",  
           "System.Collections": ""  
      }  
 }  


Para estes erros, tive dificuldade em adicionar depedência ao MSCorLib:
Error    CS0115    'Classe.ToString()': no suitable method found to override
Error    CS0246    The type or namespace name 'ICloneable' could not be found (are you missing a using directive or an assembly reference?)

Seguindo esta dica do stacktrace (asp-net-core-5-0-error-cs0012-the-type-object-is-defined-in-assembly-mscorli), resolvi retirando toda definição da framework aspnetcore50. Segue como ficou o project.json final:
 {  
      "version": "1.0.0-*",  
      "dependencies": {  
      },  
      "frameworks": {  
           "aspnet50": {  
                "dependencies": {  
                },  
                "frameworkAssemblies": {  
                }  
           }  
      }  
 }