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

时间:2018-05-04 10:33:52

标签: git visual-studio-2015 windows-10 windows-subsystem-for-linux

昨晚,Win10对版本 1803 进行了更新。

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

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

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

是否有人遇到同样的问题或有胶水为什么会发生这种情况?

编辑:

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

更多编辑:

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

可惜......在更新之前,WSL和VS像魅力一样工作!

到目前为止

解决方案:使用git-Bash直到MS修复问题......

1 个答案:

答案 0 :(得分:6)

我遇到了同样的问题。通过@Biswapriyo提供的链接,我能够了解导致此问题的原因。

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

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

[automount]

options=case=off

我已验证这已解决了我在WSL更新中看到的问题。但是,它将破坏WSL处理仅在相同文件夹中的文件名不同的文件名。