nuget dll被另一个进程使用

时间:2018-03-09 22:10:47

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

我有来自下方的错误,我完全没有想法如何解决它。到目前为止尝试了以下内容:

  1. 清理bin / obj / packages / packages cache
  2. 从csproj手动删除并将包文件打包并随后添加..还有错误
  3. 更新Visual Studio 2017
  4. 重新安装Visual Studio 2017
  5. 跟踪哪些进程正在使用名称包含 Newtonsoft
  6. 的文件
  7. 从另一台构建正常工作的笔记本电脑中复制解决方案
  8. 然而,毕竟从上面来看,我仍然得到:

    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.                
    

    如何解决这个问题?我真的陷入了这个......

3 个答案:

答案 0 :(得分:1)

  

nuget dll由另一个进程使用

您可以尝试使用以下问题排查来解决此问题。

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

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

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

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

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

答案 1 :(得分:1)

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

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

谢谢@Leo Liu-MSFT的帮助。

答案 2 :(得分:0)

当项目中存在其他错误(即:项目引用错误等)时,很可能会遇到我

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

尝试1:重新启动PC

尝试2:close vs&%temp%全部删除

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

尝试4:将“调试”更改为“释放”,然后还原

尝试5:清除所有nuget缓存

如果以上操作均无效,请关闭计算机,暂时坐下,放松一下,然后再回来查看。