Source browser website generator that powers https://source.dot.net, https://referencesource.microsoft.com and https://sourceroslyn.io
C#
1,162
467 commits
updated Jul 14, 2026
Source browser website generator that powers https://referencesource.microsoft.com, http://sourceroslyn.io, https://source.dot.net, and others.
[!WARNING] This project is soft-archived. Unfortunately at this point I'm unlikely to take even the basic PRs. I've given this project everything I could give over 13 years and I'm afraid I have nothing else left.
[!TIP] The good news is that tannergooding is carrying this project forward at https://github.com/tannergooding/SourceBrowser. Lots of perf and other improvements there. Thanks Tanner!
Create and host your own static HTML website to browse your C#/VB/MSBuild/TypeScript source code. Note that it does require an ASP.NET Core website for hosting (symbol index is kept server-side), so without ASP.NET Core the search function doesn't work.
Of course Source Browser allows you to browse its own source code: http://sourcebrowser.azurewebsites.net
Now also available on NuGet: https://www.nuget.org/packages/SourceBrowser
Note: Visual Studio 2019 is required to build Source Browser.
At indexing time, C# and VB source code is analyzed using Roslyn and a lot of static hyperlinked HTML files are generated into the output directory. There is no database. The website is mostly static HTML where all the links, source code coloring etc. are precalculated at indexing time. All the hyperlinks are hardwired to be simple links bypassing the server.
The only component that runs on the webserver is a service that given a search query does the lookup and returns a list of matching types and members, which are hyperlinks into the static HTML. The webservice keeps a list of all declared types and members in memory, this list is also precalculated at indexing time. All services, such as Find All References, Project Explorer, etc. are all pre-rendered.
The generator is not incremental. You have to generate into an empty folder from scratch every time, and then replace the currently deployed folder with the new contents atomically (using e.g. Azure Deployments, robocopy /MIR to inetpub\wwwroot, etc). For smaller projects, deploying to Azure using Dropbox or Git would work just fine.
This is a reference implementation that showcases the concepts and Roslyn usage. It comes with no guarantees, use at your own risk. We have no further plans to do any work in this repo. Any significant rearchitecture, adding large features, big refactorings won't be accepted because of resource constraints. Feel free to use it to generate websites for your own code, integrate in your CI servers etc. Feel free to do whatever you want in your own forks. Bug reports are still accepted with no guarantees or expectations.
For any questions, feel free to reach out to kirillosenkov.com on BlueSky. Thanks to numerous contributors for various fixes and contributions!
1,406 followers · starred Jul 2016
717 followers · starred Apr 2024
606 followers · starred Apr 2020
2,905 followers · starred Jul 2018
Source browser website generator that powers https://source.dot.net, https://referencesource.microsoft.com and https://sourceroslyn.io
C#
1,162
467 commits
updated Jul 14, 2026
Source browser website generator that powers https://referencesource.microsoft.com, http://sourceroslyn.io, https://source.dot.net, and others.
[!WARNING] This project is soft-archived. Unfortunately at this point I'm unlikely to take even the basic PRs. I've given this project everything I could give over 13 years and I'm afraid I have nothing else left.
[!TIP] The good news is that tannergooding is carrying this project forward at https://github.com/tannergooding/SourceBrowser. Lots of perf and other improvements there. Thanks Tanner!
Create and host your own static HTML website to browse your C#/VB/MSBuild/TypeScript source code. Note that it does require an ASP.NET Core website for hosting (symbol index is kept server-side), so without ASP.NET Core the search function doesn't work.
Of course Source Browser allows you to browse its own source code: http://sourcebrowser.azurewebsites.net
Now also available on NuGet: https://www.nuget.org/packages/SourceBrowser
Note: Visual Studio 2019 is required to build Source Browser.
At indexing time, C# and VB source code is analyzed using Roslyn and a lot of static hyperlinked HTML files are generated into the output directory. There is no database. The website is mostly static HTML where all the links, source code coloring etc. are precalculated at indexing time. All the hyperlinks are hardwired to be simple links bypassing the server.
The only component that runs on the webserver is a service that given a search query does the lookup and returns a list of matching types and members, which are hyperlinks into the static HTML. The webservice keeps a list of all declared types and members in memory, this list is also precalculated at indexing time. All services, such as Find All References, Project Explorer, etc. are all pre-rendered.
The generator is not incremental. You have to generate into an empty folder from scratch every time, and then replace the currently deployed folder with the new contents atomically (using e.g. Azure Deployments, robocopy /MIR to inetpub\wwwroot, etc). For smaller projects, deploying to Azure using Dropbox or Git would work just fine.
This is a reference implementation that showcases the concepts and Roslyn usage. It comes with no guarantees, use at your own risk. We have no further plans to do any work in this repo. Any significant rearchitecture, adding large features, big refactorings won't be accepted because of resource constraints. Feel free to use it to generate websites for your own code, integrate in your CI servers etc. Feel free to do whatever you want in your own forks. Bug reports are still accepted with no guarantees or expectations.
For any questions, feel free to reach out to kirillosenkov.com on BlueSky. Thanks to numerous contributors for various fixes and contributions!
1,406 followers · starred Jul 2016
717 followers · starred Apr 2024
606 followers · starred Apr 2020
2,905 followers · starred Jul 2018