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

sch*_*333 3 git windows-10 visual-studio-2015 windows-subsystem-for-linux

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

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

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

c1xx : fatal error c1083: cannot open source file: ...
Run Code Online (Sandbox Code Playgroud)

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

编辑:

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

更多编辑:

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

真可惜......在更新WSL和VS之前就像魅力一样!

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

小智 6

我遇到了同样的问题.基于@Biswapriyo提供的链接,我能够理解导致此问题的原因.

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

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

[automount]

options=case=off
Run Code Online (Sandbox Code Playgroud)

我已经验证这解决了我在WSL更新中遇到的问题.但是,它会破坏WSL处理文件名,只有在同一文件夹中才会有所不同.