首页 > 解决方案 > SourceLink:PDB 文件名大小写与存储库不匹配,破坏 SourceLink

问题描述

有没有办法在 Visual Studio 中配置链接器,以便嵌入在 .pdb 文件中的文件名(和路径)保持其大小写?

我们有一个想要使用 NuGet 打包的 Visual Studio C++/Cli DLL。我们希望使用 SourceLink,以便我们的开发人员可以进入托管在(私有)GitHub 存储库上的代码。

但是,在尝试单步进入源码时,Visual Studio(2019 16.2.2)报错:

源链接错误

git-credential-manager.exe:无法获取凭据。进程失败,退出代码为 -1。错误:请求失败,代码为 404:“未找到”。将 404 视为身份验证失败。某些服务返回 404 而不是 401 来表示身份验证失败。

源链接网址:https ://raw.githubusercontent.com/OurCompany/OurRepository/aca51f6e381401234e95b63949d150be04a0ea4a/ourproject/oursubfolder/thefile.cpp

请注意,在文件系统和存储库上,文件路径使用骆驼大小写:Ourproject/OurSubFolder/TheFile.cpp.

当我使用基本授权在 Postman 中复制请求时,它确实以 404 失败。但是,问题似乎是 Visual Studio 构建的 URL 使用小写字符作为文件名和位置;更正大小写使请求在 Postman 中工作。GitHub URLs 当然是区分大小写的,这是不可配置的。

在 Notepad++ 中打开 .pdb 文件显示文件名确实是小写的。

对于它的价值,更改ignorecase = falsegit .config 文件没有任何区别。

标签: c++visual-studiogithubpdb-filessourcelink

解决方案


我有完全相同的问题。事实证明这是一个已知的错误,并已在 VS2019 中修复。不幸的是,您需要升级到最新的工具链 (v142)。


推荐阅读