Source Link
O Source Link é uma tecnologia que permite a depuração de código-fonte dos assemblies .NET do NuGet por desenvolvedores. O Source Link é executado durante a criação do pacote NuGet e insere os metadados de controle do código-fonte nos assemblies e no pacote. Os desenvolvedores que baixam o pacote e têm o Source Link habilitado no Visual Studio podem intervir no código-fonte. O Source Link fornece metadados de controle do código-fonte para criar uma ótima experiência de depuração.
Demonstração do Source Link
Usando o Source Link
Encontre instruções sobre como usar o Source Link no repositório GitHub dotnet/sourcelink.
Use o aplicativo da área de trabalho Explorador de Pacotes NuGet ou o site nuget.info para confirmar que os metadados do Source Link foram inseridos com êxito no pacote. Verifique se os metadados Repository
estão presentes com um identificador de commit e se os arquivos .pdb estão localizados com o .dll de cada destino.
✔️ CONSIDERE o uso do Source Link para adicionar metadados de controle do código-fonte aos assemblies e pacotes NuGet.
Dica
Você ainda pode aprimorar a experiência de depuração do desenvolvedor com a adição de atributos do depurador aos seus tipos.
- DebuggerDisplayAttribute pode personalizar como uma classe ou campo é exibido nas janelas de variáveis do depurador.
- DebuggerStepThroughAttribute instrui o depurador a depurar o código em vez de intervir nele.
- DebuggerBrowsableAttribute controla se um membro é exibido nas janelas de variáveis do depurador.
✔️ CONSIDERE publicar arquivos de símbolo (*.pdb
).
Para proporcionar a melhor experiência de depuração, a biblioteca deverá publicar arquivos de símbolo, além de usar o Source Link. Para obter mais informações sobre arquivos de símbolo e pacotes de símbolos, confira Pacotes de símbolos.
✔️ CONSIDERE habilitar builds determinísticos.
Os builds determinísticos permitem a verificação de que o binário resultante foi criado com base na origem especificada e fornecem rastreabilidade. Para obter mais informações sobre builds determinísticos e instruções para habilitá-los, confira Builds determinísticos.