【问题标题】:Strange Build error after upgrading to Visual studio 2015 wants to copy pagefile.sys升级到 Visual Studio 2015 后出现奇怪的构建错误想要复制 pagefile.sys
【发布时间】:2015-12-08 00:31:06
【问题描述】:

在解决方案中构建 MVC 项目时出现此错误。我的解决方案中根本不存在对这些文件的引用。

C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(4105,5): error MSB3030: Could not copy the file "D:\bootmgr" because it was not found.
1>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(4105,5): error MSB3030: Could not copy the file "D:\BOOTNXT" because it was not found.
1>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(4105,5): error MSB3030: Could not copy the file "D:\pagefile.sys" because it was not found.
1>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(4105,5): error MSB3030: Could not copy the file "D:\swapfile.sys" because it was not found.

我的同事可以毫无错误地构建。

【问题讨论】:

  • 您可以通过查看详细的构建跟踪来排除此类故障。你不给我们看就帮不了你。
  • 对此的任何回答都会有所帮助。我收到以下错误:错误 12 无法将“C:\hiberfil.sys”复制到“bin\roslyn\hiberfil.sys”。重试次数超过 10。失败。 ModellerWebTrials
  • Microsoft.CodeDom.Providers.DotNetCompilerPlatform 是导致此错误的 nuget 包。

标签: msbuild visual-studio-2015


【解决方案1】:

我遇到了同样的问题。

当您将 DotNetCompilerPlatform 升级到版本 1.0.1 时,问题就开始了。

要解决此问题,您可以使用 NuGet 包管理器降级到版本 1.0.0

编辑: 如果您卸载 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 和 Microsoft.Net.Compilers,然后安装 DotNetCompilerPlatform(依赖于 Microsoft.Net.Compilers 包,因此它会自动安装)包再次消失,所以它好像。

仍然不确定水下会发生什么,但我可以再次工作!

【讨论】:

  • 发生这种情况是因为您将 NuGet 设置为“选项/依赖行为”为“忽略依赖”,因此从未安装过 Microsoft.Net.Compilers。
  • 我不知道为什么包管理器控制台对我不起作用。我右键单击我的项目..然后单击管理 NuGet 包..然后安装 Microsoft.Net.Compilers 1.2.1 版,然后安装 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 1.0.0 版,然后我的项目构建良好
  • 更新到 1.0.3 解决了这个问题
  • 我遇到了同样的错误(无法复制 swapfile.sys / hilberfil.sys),但没有编译错误。安装“Microsoft.Net.Compilers”解决了这个问题。我发现很奇怪,丢失的 NuGet 包(在任何地方都没有指出)是问题所在。这让我觉得 NuGet 很奇怪。
  • 似乎这个问题已经很老了,我现在才面对它。使用 Visual Studio 2017 (15.7.4)。尝试发布 MVC Web 项目,但因上述问题而失败。 DotNetCompilerPlatform 版本为 1.0.8 更新到 2.0.0 后,发布开始按预期工作。所以我想说没有必要安装包版本 1.0.0。您可以选择可用的最新版本(目前为 2.0.0)并愉快地发布。
【解决方案2】:

我遇到了完全相同的问题。我没有将 DotNetCompilerPlatform 升级到 1.0.1。

我的解决方案是……

  • 退出视觉工作室
  • 删除解决方案的“包”文件夹
  • 重新启动 VS。 NuGet 包管理器控制台窗口将提示还原包。去做吧。
  • 构建您的解决方案

【讨论】:

    【解决方案3】:

    我曾经遇到过同样的问题,但我只是删除了Microsoft.CodeDom.Providers.DotNetCompilerPlatform,然后安装了 1.0.0。我发现在那之后一切看起来都很好。

    【讨论】:

      【解决方案4】:

      正如其他人所提到的,这是 Microsoft.CodeDom.Providers 从版本 1.0.01.0.1升级。导致此问题的 DotNetCompilerPlatform

      不用降级也可以解决这个问题,看我的解释in this answer。总而言之,为我解决的问题是手动删除所有对违规库的引用(仅在 VS 中删除它们是不够的),然后重新添加最新版本。

      进一步调查这似乎是由于 1.0.1 nuget 包没有清除 csproj 中对 1.0.0 的所有引用。为什么这会导致它尝试复制页面文件,但是这是任何人的猜测。

      【讨论】:

        【解决方案5】:

        我已通过将“Mocrosoft.Net.Compilers”升级到 2.6.1 解决了这个问题。

        【讨论】:

          【解决方案6】:

          只需从我们的一个项目中卸载 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 即可在 Visual Studio 2017 中为我解决此问题。

          【讨论】:

            【解决方案7】:

            拥有 VS 2015 14.0.25431.01 Update 3,没有 Xamarin,没有 DotNetCompilerPlatform nuget 包,并且有更多构建配置(例如 Debug 和 RCDebug),我得到了来自另一个构建的意外副本(例如,复制相应的到 RCDebug,但我在调试时重建)。通过删除所有 Bin 文件夹,或在每个构建配置上清理然后构建,它不起作用。它构建良好,但运行时变坏。

            【讨论】:

              【解决方案8】:

              唯一对我有用的解决方案是@Greg Woods 的回答。即删除packages文件夹(最好先重命名为packages.old)并恢复packages

              (以前,弄乱了 .csproj 文件,并手动更改了打包的版本号......这可能是原因!)

              工具->NuGet包管理器->管理解决方案的NuGet包,然后点击恢复

              重建解决方案。

              (PS。在我的 解决方案)

              【讨论】:

                猜你喜欢
                • 2019-05-04
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2016-03-07
                • 1970-01-01
                • 1970-01-01
                • 2018-01-23
                • 2013-08-21
                相关资源
                最近更新 更多