{"action":"opened","issue":{"url":"https://api.github.com/repos/OctopusDeploy/Issues/issues/2217","labels_url":"https://api.github.com/repos/OctopusDeploy/Issues/issues/2217/labels{/name}","comments_url":"https://api.github.com/repos/OctopusDeploy/Issues/issues/2217/comments","events_url":"https://api.github.com/repos/OctopusDeploy/Issues/issues/2217/events","html_url":"https://github.com/OctopusDeploy/Issues/issues/2217","id":120393613,"number":2217,"title":"Path to long when extracting nuget package to install folder.","user":{"login":"dazinator","id":3176632,"avatar_url":"https://avatars.githubusercontent.com/u/3176632?v=3","gravatar_id":"","url":"https://api.github.com/users/dazinator","html_url":"https://github.com/dazinator","followers_url":"https://api.github.com/users/dazinator/followers","following_url":"https://api.github.com/users/dazinator/following{/other_user}","gists_url":"https://api.github.com/users/dazinator/gists{/gist_id}","starred_url":"https://api.github.com/users/dazinator/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dazinator/subscriptions","organizations_url":"https://api.github.com/users/dazinator/orgs","repos_url":"https://api.github.com/users/dazinator/repos","events_url":"https://api.github.com/users/dazinator/events{/privacy}","received_events_url":"https://api.github.com/users/dazinator/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-12-04T12:38:58Z","updated_at":"2015-12-04T12:38:58Z","closed_at":null,"body":"I have packaged up an ASP.NET 5 application into a NuGet package. When deploying this NuGet Package through Octopus (standard NuGet package step with no optional features) - the deployment falls over with this error:\r\n\r\n```\r\n\r\nDeploying package 'C:\\Octopus\\Files\\WebApplication.Mvc.1.0.490.nupkg-bc3e15a8-e654-4d96-8057-5d374a700c0b' to machine 'https://rchdevweb01:10933/'\r\n12:05:07Info\r\nDeploying package:    C:\\Octopus\\Files\\WebApplication.Mvc.1.0.490.nupkg-bc3e15a8-e654-4d96-8057-5d374a700c0b\r\n12:05:12Error\r\nSystem.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.\r\n12:05:12Error\r\n   at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)\r\n12:05:12Error\r\n   at System.IO.Path.GetDirectoryName(String path)\r\n12:05:12Error\r\n   at Calamari.Integration.Packages.LightweightPackageExtractor.Install(String packageFile, String directory, Boolean suppressNestedScriptWarning, Int32& filesExtracted) in Y:\\work\\14ffc968155e4956\\source\\Calamari\\Integration\\Packages\\LightweightPackageExtractor.cs:line 79\r\n12:05:12Error\r\n   at Calamari.Deployment.Conventions.ExtractPackageConvention.Install(RunningDeployment deployment) in Y:\\work\\14ffc968155e4956\\source\\Calamari\\Deployment\\Conventions\\ExtractPackageConvention.cs:line 28\r\n12:05:12Error\r\n   at Calamari.Deployment.ConventionProcessor.RunInstallConventions() in Y:\\work\\14ffc968155e4956\\source\\Calamari\\Deployment\\ConventionProcessor.cs:line 60\r\n12:05:12Error\r\n   at Calamari.Deployment.ConventionProcessor.RunConventions() in Y:\\work\\14ffc968155e4956\\source\\Calamari\\Deployment\\ConventionProcessor.cs:line 28\r\n12:05:12Error\r\nRunning rollback conventions...\r\n12:05:12Error\r\nSystem.ArgumentNullException: Value cannot be null.\r\n12:05:12Error\r\nParameter name: path\r\n12:05:12Error\r\n   at System.IO.DirectoryInfo..ctor(String path)\r\n12:05:12Error\r\n   at Calamari.Integration.FileSystem.CalamariPhysicalFileSystem.EnumerateFiles(String parentDirectoryPath, String[] searchPatterns) in Y:\\work\\14ffc968155e4956\\source\\Calamari\\Integration\\FileSystem\\CalamariPhysicalFileSystem.cs:line 179\r\n12:05:12Error\r\n   at Calamari.Integration.Scripting.PackagedScriptRunner.FindScripts(RunningDeployment deployment) in Y:\\work\\14ffc968155e4956\\source\\Calamari\\Integration\\Scripting\\PackagedScriptRunner.cs:line 55\r\n12:05:12Error\r\n   at Calamari.Integration.Scripting.PackagedScriptRunner.RunScripts(RunningDeployment deployment) in Y:\\work\\14ffc968155e4956\\source\\Calamari\\Integration\\Scripting\\PackagedScriptRunner.cs:line 29\r\n12:05:12Error\r\n   at Calamari.Deployment.ConventionProcessor.RunRollbackConventions() in Y:\\work\\14ffc968155e4956\\source\\Calamari\\Deployment\\ConventionProcessor.cs:line 69\r\n12:05:12Error\r\n   at Calamari.Deployment.ConventionProcessor.RunConventions() in Y:\\work\\14ffc968155e4956\\source\\Calamari\\Deployment\\ConventionProcessor.cs:line 48\r\n12:05:12Error\r\n   at Calamari.Commands.DeployPackageCommand.Execute(String[] commandLineArguments) in Y:\\work\\14ffc968155e4956\\source\\Calamari\\Commands\\DeployPackageCommand.cs:line 103\r\n12:05:12Error\r\n   at Calamari.Program.Execute(String[] args) in Y:\\work\\14ffc968155e4956\\source\\Calamari\\Program.cs:line 38\r\n12:05:13Error\r\nThe remote script failed with exit code 100\r\n```\r\n\r\nThis is telling me that some file within the NuGet package, has a full path that is too long for windows to cope with.\r\n\r\nPlease can it tell me which files? \r\n\r\nI would love for octopus to do a check in advance of extracting the package to disk, to check to make sure that no files will exceed this limit, and then to raise a more informative error about the problematic files if it finds any.\r\n\r\nThis will also save it leaving a package half extracted to the installation directory!\r\n"}}