This post was most recently updated on December 17th, 2018.
This post describes a few different ways of fixing the error “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.” one can get when trying to package/publish a SharePoint solution, web site or an Azure Webjob.
UPDATE 11.4.2016: I actually got this nasty exception on another occasion (Azure webjob publish), so I updated the text accordingly.
Visual Studio throws the following error when packaging a SharePoint solution to a .wsp file, OR when deploying or publishing your web project (for example Azure Webjob).
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.
So, what to do to fix this?
Depending on the type of your project, the right solution might be just a bit different – although the error seems to be thrown by msbuild during the build/publish action in any case. And just like the error says, it’s because a step in the process is failing because it’s trying to use a folder that’s located in a path that’s too long.
We’ll need to get the feature’s deployment path to be shorter. This applies to AT LEAST full-trust solutions, sandboxed solutions and add-in projects.
If it’s actually about just a few characters (and it often is), you can try the following solution:
- Open the feature’s extended settings by double-clicking it’s name
- Select “Deployment path”. You should see something like “$SharePoint.Project.FileNameWithoutExtension$_$SharePoint.Feature.FileNameWithoutExtension$”
- Remove the first token, or replace it with a short name describing your project or solution.
- Save and build/package/deploy.
- The problem should be gone now.
How to resolve the issue for other project types?
In case you’re publishing a webjob or other web project, or the difference is not by just a few characters, you could also try the following:
- Unload your web/webjob project
- Select “Edit <yourprojectfilename>.csproj”
- Add the following entry under the first <PropertyGroup> that exists in the xml file:
- Reload the project
- Clean the project
- Try the deployment/publish again – it should work now.
So, what did this do? It quite simply shortened the temporary build/publish output path for Visual Studio, so that it didn’t exceed the 260-character limit. The publish to Azure went fine after this.
In case you STILL encounter this problem, you may have to actually use some slightly blackish magic to map your code to somewhere on your file system where your paths become shorter. Symbolic links might help you – but I never had to go that deep.
Latest posts by Antti K. Koskela (see all)
- Fixing “-2147024891, System.UnauthorizedAccessException” when accessing SharePoint SOAP Web Services - January 17, 2019
- “500 Internal Server Error” after switching a WordPress site to PHP 7.3 - January 15, 2019
- Azure Functions failing on “OPTIONS” call? Quick fix! - January 9, 2019
- Thanks for an amazing 2018! - December 28, 2018