【问题标题】:nuget dll is used by another processnuget dll 被另一个进程使用
【发布时间】:2018-03-09 22:10:47
【问题描述】:

我有来自下面的错误,我完全不知道如何解决它。到目前为止尝试了以下方法:

  1. 清理 bin/obj/packages/packages 缓存
  2. 从 csproj 中手动删除并打包文件,然后添加它..仍然错误
  3. 更新 Visual Studio 2017
  4. 重新安装 Visual Studio 2017
  5. 跟踪哪些进程正在使用名称包含 Newtonsoft 的文件
  6. 从另一台笔记本电脑复制解决方案,构建工作正常

然而,毕竟从上面,我仍然得到:

Error       NuGet Package restore failed for project DriversApp.Android: Unable to find version '10.0.3' of package 'Newtonsoft.Json'.
  C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\: Package 'Newtonsoft.Json.10.0.3' is not found on source 'C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\'.
  https://api.nuget.org/v3/index.json: Error downloading 'Newtonsoft.Json.10.0.3' from 'https://api.nuget.org/v3-flatcontainer/newtonsoft.json/10.0.3/newtonsoft.json.10.0.3.nupkg'.
  The process cannot access the file 'C:\Users\user\.nuget\packages\newtonsoft.json\10.0.3\lib\netstandard1.0\Newtonsoft.Json.dll' because it is being used by another process.
. Please see Error List window for detailed warnings and errors.                

如何解决这个问题?我真的被这个卡住了......

【问题讨论】:

    标签: visual-studio json.net nuget nuget-package nuget-package-restore


    【解决方案1】:

    经过大量调查和想法后,我通过卸载防病毒解决方案解决了这个问题,因为我在笔记本电脑中添加的规则被公司服务器策略覆盖。

    作为结论,首先检查您的防病毒解决方案,如果您处于受控环境中,请确保您的规则不会被公司服务器策略覆盖。

    感谢@Leo Liu-MSFT 的帮助。

    【讨论】:

      【解决方案2】:

      nuget dll 被另一个进程使用

      您可以尝试使用以下故障排除方法来解决此问题。

      1. 在 Windows 资源管理器中,转到安装 NuGet 包的文件夹 C:\Users\user\.nuget\packages,删除 Newtonsoft.Json 文件夹。

      2. 可能与同一解决方案中的多个项目中引用的同一包有关,将“-DisableParallelProcessing”添加到 nuget restore 命令,最终命令如下所示:

        nuget restore "%WORKSPACE%\Solutions\App\App.sln" -DisableParallelProcessing

      3. 从反恶意软件产品中排除 NuGet 包文件,或尝试禁用防病毒。在 NuGet 还原操作期间,反恶意软件/防病毒产品会短暂锁定这些文件。

      4. 在构建项目之前清除所有引用的库,方法是单击“清理解决方案”后在解决方案资源管理器中右键单击解决方案。

      【讨论】:

      • :(。这个问题只发生在您的特定项目中吗?您是否尝试创建一个新的空白项目,然后安装该 nuget 包?
      • 空白项目也有同样的问题,另外,从 github 获得了一个在 mac 上运行良好的项目,但这里没有。
      • 有趣的部分是,对于空白项目,另一个项目“C:\Users\user\.nuget\packages\microsoft.netcore.portable.compatibility\1.0 .0\lib\netcore50\System.Numerics.dll" ...
      • @AlexStefan,感谢您的回复和尝试。根据您的评论,这个问题应该更多地与环境有关。请尝试清理nuget包缓存:工具->选项->NuGet包管理器->常规->清除所有nuget缓存(备份文件夹C:\Users\user\.nuget\packages),然后打开您的解决方案,右键单击您的解决方案,选择恢复nuget包。
      • 包中没有任何东西要备份,清除缓存后结果相同(之前也这样做过)。
      【解决方案3】:

      我很可能在项目中出现其他错误时遇到过(即:项目引用错误等)

      尝试 0:从所有项目中删除所有 bin 和 obj。

      尝试 1:重启电脑

      尝试2:close vs & %temp% delete all

      尝试 3:暂时禁用防病毒软件

      尝试 4:将 Debug 更改为 Release 并恢复

      尝试 5:清除所有 nuget 缓存

      如果以上没有任何效果,请关闭您的电脑,坐一会儿,放松一下,然后再回来查看。

      【讨论】:

        【解决方案4】:

        以管理员权限运行此命令(net session /delete)。它对我有用。

        【讨论】:

          猜你喜欢
          • 2017-03-21
          • 2015-03-25
          • 2020-10-24
          • 1970-01-01
          • 2011-04-13
          • 2017-12-02
          • 2011-09-04
          • 2012-04-07
          相关资源
          最近更新 更多