VS2015:无法将行写入文件“obj\Debug\\TemporaryGeneratedFile

Pau*_*aul 7 visual-studio-2015

使用 VS2015 我正在编译一些适用于 VS2013(在 Win8 上)的代码。现在在 VS2015 中,我收到以下错误:

无法将行写入文件“obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs”。找不到路径“C:\dev\Projects\BAG\Importer\Data\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs”的一部分。数据

我只在完全干净的机器上安装了 Visual Studio 2015。目标框架 4.6

我已经阅读了其他一些提示关闭代码分析的 SO 问题。我也这样做了,但无济于事。

我怎样才能继续追踪这个错误?

Boz*_*eff 6

我刚刚在Windows 10 1903Visual Studio 2019 PREVIEW上遇到了同样的问题。

错误消息在一定程度上是正确的 - 确实超出了最大长度,但不一定是 260 个字符。这是 Windows 的一些默认设置,仅适用于 Windows 10 1903 及更高版本。因此,如果您碰巧有Such.A.Long.Project.Name.Which.Might.Be.Buried.Somewhere.Deep.In.Your.Filesystem.csproj,构建可能会抛出错误,因为它尝试根据项目名称生成其他文件,因此您最终可能会得到类似obj\Debug\netstandard2.0\Such.A.Long.Project.Name.Which.Might.Be.Buried.Somewhere.Deep.In.Your.Filesystem.csproj.FileList.txt违反默认文件名长度约束的结果。

解决办法是在组策略中启用长Win32路径(或者直接戳注册表,这里就不解释了)。

GP 设置的路径是:Computer Configuration -> Administrative Templates -> System -> Filesystem。在那里你会找到Enable Win32 long paths设置。启用它,执行gpupdate(或重新启动机器),然后就可以开始了。


jua*_*cre 2

根据我的经验,删除每个项目下的 obj 子文件夹就足够了。

这里有人用同样的方法解决了这个问题。