错误MSB3027:无法将“C:\ pagefile.sys”复制到“bin \ roslyn \ pagefile.sys”。 超过重试次数10.失败

每次我在VS 2013中收到此错误

无法将“C:\ pagefile.sys”复制到“bin \ roslyn \ pagefile.sys”。 超过重试次数10.失败。 无法将文件“C:\ pagefile.sys”复制到“bin \ roslyn \ pagefile.sys”。 该进程无法访问该文件

请帮我。

正如Pramod评论中的回答所示,问题源于Microsoft.CodeDom.Providers.DotNetCompilerPlatform nuget包,特别是从1.0.0升级到1.0.1

但对我来说,使用Visual Studio降级会导致进一步的构建错误。 要解决这个问题,我必须手动编辑我的csproj和packages.config文件,删除对Microsoft.Net.CompilersMicrosoft.CodeDom.Providers.DotNetCompilerPlatform的所有引用。

具体来说,这意味着:

  • 删除两个库的所有版本的相关部分
  • EnsureNuGetPackageBuildImports目标部分中删除

    我删除:

    – Microsoft.CodeDom.Providers.DotNetCompilerPlatform

    – Microsoft.Net.Compilers

    来自nuget包管理器,因为我没有使用它。

    一切都好。

我找到了一个不同的解决方案来解决这个错误。 在我的情况下,我一直在我的解决方案中移动一个项目(我把它放在一个子文件夹中)。 我对项目文件中的包(位于%solutionfolder%/ packages中)的引用被破坏,我手动修复它们。

但是,我忘记了两个补充import:

    

我首先将第一个从.. \ packages更新到…. \ packages(像我一样懒)。 之后构建项目给了我pagefile.sys错误。

更新第二个导入(相同的更改:.. \ packages to …. \ packages)为我解决了这个问题。

没什么可走的,但我建议使用SysInternals Process Monitor记录您的问题

一旦你有procmon运行,你想用VS2013记录(或跟踪,换句话说)你的问题。 完成录制后,您将需要按进程筛选结果(在您的情况下为devenv.exe ),因此请按Ctrl-T打开进程树,然后找到devenv.exe

选择它,然后单击“包括子树”按钮。 关闭Process Tree窗口,然后从顶部菜单中选择Tools -> Count Occurrences 。 将Column下拉框设置为’Result’,然后按Count按钮。 输出将是结果的集合以及它们各自的计数。 通过查看这些结果,您通常可以很好地了解正在发生的事情。 例如,如果您看到许多涉及ACCESS DENIEDFILE LOCKED WITH ONLY READERS ,那么很可能您的问题与权限有关。