GithubHelp home page GithubHelp logo

sourcelink's Introduction

SourceLink

SourceLink is a .NET library that automates [source indexing](http://msdn.microsoft.com/en-us/library/windows/hardware/ff556898.aspx). It enables the source control management system to be the [source server](http://msdn.microsoft.com/en-us/library/windows/desktop/ms680641.aspx) by indexing the pdb files with https links to the SCM. Access to the source code is controlled by the SCM.

In April of 2011, Buck Hodges stated that "we are starting to have more and more tools that need access to the symbol file information and the original source code that was used for compilation". Visual Studio Debugging, Remote Debugger, IntelliTrace, Visual Studio Profiler, and WinDBG all use srcsrv.dll to obtain the source. It "supports HTTPS sites protected by smartcards, certificates, and regular logins and passwords."

Better than Traditional TFS Source Indexing

SourceLink can be used to source index TFS Git code and TFS TFVC code. TFS 2013 does not yet support source indexing TFS Git code. SourceLink provides a solution for doing so. Traditional TFS TFVC source indexing requires tf.exe to be run each time a source file is needed. Using web links for source indexing is better than having to run an executable to obtain the source.

Great for .NET Open Source

SourceLink is perfect for open source .NET projects. If you source index your pdb files using SourceLink and ship them in the NuGet packages, users of your project will be able to download the exact source on demand while debugging. SourceLink works with GitHub, Bitbucket, Google Project Hosting, and CodePlex. Git on CodePlex is the only option known not to work yet, so vote here.

How it Works

SourceLink will create a text file next to the .pdb with an extension of .pdb.srcsrv and then run pdbstr.exe to do the source indexing. pdbstr.exe ships with TFS and Debugging Tools for Windows.

How to Use

SourceLink.Fake is a tools only NuGet package. It is an add-on for FAKE - F# Make. Examples:

Blog

Please see my blog posts tagged with SourceLink for more details. http://blog.ctaggart.com/search/label/SourceLink

Run FAKE from TFS or Visual Studio Online

FAKE builds can be integrated with several build servers. SourceLink.Fake enables integration with TFS and Visual Studio Online. You can code your TFS builds in F# instead of XAML. A helper library is provided that gives easy access to the entire TFS API from F# and F# Interactive.

Issues

Releases

  • 2014-01 SourceLink.Fake 0.3.x
    • FAKE integration
    • TFS integration
    • pdbstr.exe used instead of modifying pdb directly
    • SourceLink.Build put aside for now in favor of SourceLink.Fake
  • 2013-07 SourceLink.Build 0.2.x
    • SourceLink distributed using NuGet 2.5 MSBuild Targets
    • verify Git checksums using LibGit2Sharp

sourcelink's People

Contributors

ctaggart avatar forki avatar

Watchers

Jamie Gaines avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.