Eu estava debugando uma aplicação .NET e, para resolver um problema, eu tive que mudar o código na aplicação e em uma biblioteca .NET referenciada ao mesmo tempo.
Uma maneira de conseguir fazer isso quando ambos estão na mesma solução é referenciar a biblioteca configurando seu “target” como “project” no arquivo project.json. Algo assim:
{
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.1",
"type": "platform"
},
"SameSolutionLibrary": {
"target": "project"
},
...
}
É fácil e vai funcionar como padrão em ambos os projetos que tenham a mesma pasta principal. Exemplo:
Isso funciona:
/SolutionA/Project1/project.json /SolutionA/Project2/project.json
Isso não funciona:
/SolutionA/SomeDir/Project1/project.json /SolutionA/SomeOtherDir/Project2/project.json
Uma maneira de contornar essa limitação é referenciar qualquer projeto em seu computador para adicionar sua pasta para a solução atual no arquivo global.json
{
"projects": [ "src", "test", "C:/dev/personal/mini-biggy/src" ],
"sdk": {
"version": "1.0.0-preview2-003131"
}
}
Você também pode utilizar caminhos absolutos ou relativos. Assim que você fizer isso, adicione o projeto como referência, da mesma maneira que você fez com a biblioteca local:
{
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.1",
"type": "platform"
},
"SameSolutionLibrary": {
"target": "project"
},
"Mini-Biggy" : {
"target" : "project"
},
...
E está tudo pronto.
Note que o arquivo referenciado também aparecerá no seu Solution Explorer. Bom debugging!
***
Artigo publicado originalmente em http://www.andrecarlucci.com/en/how-to-add-a-project-reference-to-a-net-core-library-from-another-solution/



