VS15 无法识别 1803 更新后 git 克隆的文件

VS15 does not recognize files cloned by git after 1803 update

昨晚Win10更新了版本1803.

从那以后Visual Studio (2015) 无法再编译任何新的克隆项目。 我在 Windows 上通过 Bash 从 git 实验室服务器克隆。在更新之前已经在磁盘上的旧项目仍然可以编译而不会抱怨。

似乎 Visual Studio 无法再 locate/find 文件,因为尝试编译会给出如下错误消息:

c1xx : fatal error c1083: cannot open source file: ...

有没有人遇到同样的问题或者知道为什么会发生这种情况?

编辑:

经过一番挖掘后,问题归结为 CL.exe 编译器似乎不允许读取任何由 git 创建的 sub 目录。但是在maingit目录下有读取权限

更多编辑:

原来是Ubuntu子系统的问题。通过 WSL 创建的目录不能再被某些程序(在我们的例子中是 CL.exe)读取。

真遗憾...在更新之前,WSL 和 VS 完美地协同工作!

到目前为止的解决方案: 使用 git-Bash 直到 MS 修复问题...

我 运行 遇到了同样的问题。根据@Biswapriyo 提供的link,我能够理解是什么导致了这个问题。

Windows Linux 的子系统 (WSL) 最近添加了对区分大小写 files/folders 的支持。但是,当使用 cl.exe (c1xx) 编译器 时,它不会在当前版本的 WSL 中创建(或克隆)的文件夹中找到文件。原因是 cl.exe 使文件和路径大写。因此,如果您的源文件在 c:\tmp 中被称为 main.c,编译器将查找 C:\TMP\MAIN.C。因此,区分大小写的文件匹配将不起作用,编译器 "cannot open source file".

要解决此问题,请在您的 WSL 环境中创建文件 /etc/wsl.conf 将以下文本添加到 wsl.conf

[automount]

options=case=off

我已经确认这解决了我在 WSL 更新中看到的问题。但是,它会破坏 WSL 处理仅在同一文件夹中大小写不同的文件名。