squirrel for windows (バージョン 1.0.0.0)を使用しようとしていますが、そのエラーを取り除く方法がありません。
ファイルが実際に使用されていないことを確認するためにあらゆることを行いました。
次の手順では、PC でエラーを再現します。
- nuget パッケージを作成して
releasify
- PCを再起動します
- コマンド プロンプトのみを開きます (他のアプリケーションは実行されておらず、Visual Studio も実行されていません)。
- コマンドを実行します
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
ビルドを使用して作成されました。