Making .NET open source accessible!
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 9 年前 | ||
| 11 年前 | ||
| 11 年前 | ||
| 7 年前 | ||
| 9 年前 | ||
| 9 年前 | ||
| 9 年前 | ||
| 9 年前 | ||
| 7 年前 | ||
| 8 年前 | ||
| 9 年前 | ||
| 3 年前 | ||
| 8 年前 | ||
| 9 年前 | ||
| 8 年前 | ||
| 9 年前 | ||
| 9 年前 | ||
| 9 年前 | ||
| 9 年前 |
GitLink

归档通知
该项目已归档。建议使用 SourceLink,这是一个由@ctaggart 创造的出色工具,并且已被 .NET Foundation 采用。
描述
GitLink 允许用户逐步浏览托管在 GitHub 上的您的代码!通过为您的 .NET 项目启用此功能,帮助使 .NET 开源项目更加易于访问,只需在您的构建过程中增加一步即可。查看使用 GitLink 的项目列表 projects using GitLink。
--
重要提示
GitLink 曾命名为 GitHubLink。随着对更多 Git 托管服务的支持,这个名字似乎无法涵盖整个功能范围。NuGet 和 Chocolatey 上的旧 GitHubLink 包将不再更新或维护。
私有 git 仓库可能会有问题。更多信息。
--
GitLink 使符号服务器成为多余,这为您节省了上传源文件和符号的时间,用户也无需再指定自定义符号服务器(如 symbolsource.org)。

GitLink 的优势在于它是完全为 Git 定制的。它还支持 GitHub 或 BitBucket 链接,因此无需本地 git 仓库即可运行。这使得它非常适合在持续集成服务器上使用,例如 Continua CI。
更新所有 pdb 文件非常迅速。超过 85 个项目的解决方案将在 30 秒内处理完成。
使用 GitLink 时,用户无需再指定符号服务器。唯一的要求是确保在 Visual Studio 中勾选 启用源服务器支持 选项,如下所示:

如何在您自己的项目中使用 GitLink 来启用源代码单步执行
NuGet/MSBuild 集成
使用 GitLink 的最简单方法是将 NuGet 包 安装到您的项目中。
Install-Package GitLink
安装完成后,它将自动与 MSBuild 集成,向您的 PDB 添加源下载指令。
命令行工具
如果您想在您的(构建)计算机上安装该工具,该包可通过 Chocolatey 获得。要安装,请使用以下命令:
choco install gitlink
通过命令行使用 GitLink 非常简单:
gitlink.exe <pdb文件>
使用自定义原始内容 URL
当与支持直接 HTTP 访问特定文件修订版本的内容代理或替代 git VCS 系统一起使用时,请使用 -u 参数和自定义原始内容根 URL
GitLink.exe <pdb文件> -u https://raw.githubusercontent.com/catel/catel
自定义 URL 将用于生成源映射时的以下模式 {customUrl}/{revision}/{relativeFilePath}。
当使用非通用 URL 的仓库时,您可以使用占位符指定文件名和修订哈希的位置,使用 -u 参数和自定义 URL
GitLink.exe <pdb文件> -u "https://host/projects/catel/repos/catel/browse/{filename}?at={revision}&raw"
或者,如果您需要 URL 编码的文件名,可以使用 urlencoded_filename 令牌
GitLink.exe <pdb文件> -u "http://host/api/v4/projects/42/repository/files/{urlencoded_filename}/raw?ref={revision}"
自定义 URL 将用于填充相对文件路径和修订哈希。
Git 仓库位置
GitLink 根据 pdb 文件的位置解析 git 仓库。如果 pdb 文件位于 git 仓库之外,请使用 -baseDir 参数指向仓库的顶级目录。
原生 PDB
原生 PDB(来自 C++ 项目)通过使用 -a 选项受支持:
GitLink.exe <原生Pdb文件> -a
您 git 仓库中的所有已知 C++ 源文件将被索引到 PDB 中。
更多选项
还有许多其他参数可供使用。使用以下命令行显示使用文档:
GitLink.exe -h
工作原理
SrcSrv 工具(Srcsrv.dll)允许客户端检索用于构建应用程序的确切版本的源文件。由于模块的源代码可以在版本之间和多年之间发生变化,因此查看在构建问题模块的版本时存在的源代码至关重要。
有关更多信息,请参阅 SrcSrv 官方文档。
GitLink 创建一个源索引文件并更新 PDB 文件,以便从 Git 托管文件处理器检索文件。 为此,GitLink 必须知道可以从公共 URL 检索您编译的源文件的位置。 GitLink.exe 读取您的编译器生成的 PDB,其中已包含指向您的本地源文件的完整路径。 然后它在包含这些源文件的 git 仓库中查找 HEAD 指向的提交。 它还在您的远程中查找它识别的 URL 模式(例如 https://github.com/name/repo)。 它将 URL 和提交 ID 组合成每个源文件此版本的唯一 URL,并将此信息添加到您的 PDB。
当您共享您的 PDB 和程序集时,您的用户如果启用了源服务器支持进行调试,将能够自动单步执行您的源代码。
故障排除
源代码单步执行无法正常工作
-
Visual Studio 2012 需要以提升权限运行以下载源服务器文件
-
为 Visual Studio -> 选项 -> 调试 -> 符号 ->
在此目录中缓存符号指定一个值

源代码单步执行返回 HTML
如果您的仓库是私有的,您可能会看到来自您的 git 托管服务的登录 HTML。
- 在 Internet Explorer 中登录到您的 git 托管服务
- 清除您的本地符号缓存
请注意,这种方法不能保证有效。Visual Studio 需要认证以检索源文件,但它不会询问用户凭据进行认证。有办法解决这个问题,但目前 GitLink 中没有提供现成的机制。
可能的解决方法
- 在 pdb 中包含一个检索凭据的机制(使用 PowerShell 和 Windows 凭据存储)(见 #37)
- 使用不需要认证的代理服务(见 #66 和 Source server with Git repository)
支持的 Git 提供商
GitLink 开箱即支持以下提供商(将根据 URL 自动检测):
- BitBucket
- GitHub
- Visual Studio Team Services
- 自定义提供商(自定义 URL)
以下为在社区帮助下可能支持的提供商:
也可以指定自定义 URL 提供商。
使用 GitLink 的项目
以下是已经使用 GitLink 的项目列表(按字母顺序排列)。
- ASP.NET Boilerplate
- Catel
- CefSharp
- eXpand
- FakeItEasy
- Fluent.Ribbon
- GitLink
- MahApps.Metro
- NBitcoin
- NBitcoin.Indexer
- NEST and Elasticsearch.NET
- Orc.Analytics
- Orc.AutomaticSupport
- Orc.CommandLine
- Orc.Controls
- Orc.CrashReporting
- Orc.CsvHelper
- Orc.Feedback
- Orc.FileAssociation
- Orc.FilterBuilder
- Orc.LicenseManager
- Orc.Metadata
- Orc.Notifications
- Orc.NuGetExplorer
- Orc.ProjectManagement
- Orc.Search
- Orc.Sort
- Orc.Squirrel
- Orc.SupportPackage
- Orc.SystemInfo
- Orc.WorkspaceManagement
- Orc.Wizard
- Orchestra
- OxyPlot
- QBitNinja
- ReactiveUI
- Romantic Web
- Roslyn
- Serenity
- xUnit.net
- xUnit.net Visual Studio Runner
您是否在项目中使用了 GitLink?告诉我们,我们将您的项目添加到列表中。
注:您也可以为此文档创建一个 pull request 并自行添加。
图标
由 Dominic Whittle 从 The Noun Project 提供
