昨晚Win10更新了版本1803。
从那时起,Visual Studio (2015) 无法再编译任何新的克隆项目。 我通过 Windows 上的 Bash 从 gitlab 服务器克隆。在更新之前已经在磁盘上的旧项目仍然可以编译而不会提示。
似乎 Visual Studio 无法再定位/找到文件,因为尝试编译会给出如下错误消息:
c1xx : fatal error c1083: cannot open source file: ...
有没有人遇到同样的问题或者知道为什么会发生这种情况?
编辑:
经过一些挖掘,问题归结为 CL.exe 编译器似乎不允许读取任何由 git 创建的 sub 目录。但是,它在 main git 目录中具有读取权限。
更多编辑:
原来是Ubuntu子系统的问题。一些程序(在我们的例子中是 CL.exe)无法再读取通过 WSL 创建的目录。
真遗憾...在更新之前,WSL 和 VS 完美地协同工作!
到目前为止的解决方案: 在 MS 修复问题之前使用 git-Bash...
最佳答案
我遇到了同样的问题。根据@Biswapriyo 提供的链接,我能够理解导致此问题的原因。
适用于 Linux 的 Windows 子系统 (WSL) 最近添加了对区分大小写的文件/文件夹的支持。但是,当使用 cl.exe
(c1xx) 编译器 时,它不会在当前版本的 WSL 中创建(或克隆)的文件夹中找到文件。原因是 cl.exe
使文件和路径大写。因此,如果您的源文件在 c:\tmp
中称为 main.c
,则编译器会查找 C:\TMP\MAIN.C
。因此,区分大小写的文件匹配将不起作用,并且编译器“无法打开源文件”。
要解决此问题,请在您的 WSL 环境中创建文件 /etc/wsl.conf
将以下文本添加到 wsl.conf
[automount]
options=case=off
我已经确认这解决了我在 WSL 更新中看到的问题。但是,它会破坏 WSL 处理仅在同一文件夹中大小写不同的文件名。
关于git - VS15 1803更新后无法识别git克隆的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50172869/