This post was most recently updated on January 27th, 2019.
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 the typical, Classic SharePoint solutions:
- 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:
How to change a feature’s deployment path in Visual Studio?
- 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.
This should ix the issue for your typical SharePoint projects. But what about other types of projects or solutions in Visual Studio?
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 steps.
How to change the path for the build process’s temporary files?
- 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. For me, 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.
He's been a developer from 2004 (starting with PHP and Java), and he's been bending and twisting SharePoint into different shapes since MOSS. Nowadays he's not only working on SharePoint, but also on .NET projects, Azure, Office 365 and a lot of other stuff.
This is his personal professional (e.g. professional, but definitely personal) blog.
Latest posts by Antti K. Koskela (see all)
- SharePoint linguistic search features - March 20, 2019
- How to remove Azure Functions without deleting the Functions App? - March 20, 2019
- EntityFramework Core 2.1 – Update-Database error “The EntityFramework package is not installed” - March 19, 2019