Необработанное исключение: System.IO.IOException: процесс не может получить доступ к файлу "xxx.nupkg", так как он используется другим процессом

Я пытаюсь использовать белка для Windows (версия 1.0.0.0), и нет способа избавиться от этой ошибки.

Я сделал все, чтобы убедиться, что файл действительно не используется.

Следующие шаги воспроизводят ошибку на моем ПК.

  1. Создайте пакет nuget для releasify
  2. Перезагрузите компьютер
  3. Только открытая командная строка (никакое другое приложение не запущено, даже Visual Studio)
  4. Запустите команду squirrel --releasify Digger.1.0.0.1.nupkg

Странно то, что я могу удалить файл сразу после получения ошибки от releasify команда:

Ниже приведен журнал.

2015-08-30 17:28:03> Program: Starting Squirrel Updater: --releasify Digger.1.0.0.1.nupkg
2015-08-30 17:28:03> Program: Bootstrapper EXE found at:C:\dev\utils\squirrel\Setup.exe
2015-08-30 17:28:03> Program: Creating release package: C:\dev\projects\ThirdParty\inmediati\Digger\Digger.Cliente.WPF\Releases\Digger.1.0.0.1.nupkg
2015-08-30 17:28:03> ReleasePackage: Creating release package: C:\dev\projects\ThirdParty\inmediati\Digger\Digger.Cliente.WPF\Releases\Digger.1.0.0.1.nupkg => C:\dev\projects\ThirdParty\inmediati\Digger\Digger.Cliente.WPF\Releases\Digger-1.0.0.1-full.nupkg
2015-08-30 17:28:03> ReleasePackage: Extracting dependent packages: []
2015-08-30 17:28:03> ReleasePackage: Removing unnecessary data
2015-08-30 17:28:03> ReleasePackage: No release notes found in C:\Users\Juan\AppData\Local\SquirrelTemp\tempa\Digger.nuspec
2015-08-30 17:28:03> Unhandled exception: System.IO.IOException: The process cannot access the file 'C:\dev\projects\ThirdParty\inmediati\Digger\Digger.Cliente.WPF\Releases\Digger.1.0.0.1.nupkg' because it is being used by another process.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.File.InternalDelete(String path, Boolean checkHost)
   at System.IO.File.Delete(String path)
   at Squirrel.Update.Program.Releasify(String package, String targetDir, String packagesDir, String bootstrapperExe, String backgroundGif, String signingOpts, String baseUrl, String setupIcon)
   at Squirrel.Update.Program.executeCommandLine(String[] args)
   at Squirrel.Update.Program.main(String[] args)

Кстати: пакет nuget был создан с использованием Any CPU строить.

1 ответ

Похоже, что вы являетесь владельцем потока на GitHub, но на случай, если кто-то еще покажет ошибку в этой конкретной версии Squirrel, возникает ошибка, из-за которой он не закрывает созданный zip-файл, здесь отслеживаемая ошибка: https://github.com/Squirrel/Squirrel.Windows/pull/425 не выглядит слишком долго, пока не будет исправлена.

Вот ссылка на другой поток в GitHub также: https://github.com/Squirrel/Squirrel.Windows/issues/422

Другие вопросы по тегам