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/