Fix 260 character file name length limitation
The 260 character limit on file paths really gets in the way of having a deeply-nested project hierarchy. It's only there as backwards compatibility with the old school APIs, and has no place in any sort of modern development environment.
We should be able to work with file paths of whatever size we want.
We’ve removed the limitation from the BCL for the basic file manipulation functionality (CRUD). You can find more details here:
Program Manager .NET
@Nak C++ projects have always had access to the Win32 API, and thus the ability to use paths beyond the 260 character barrier. You just need to use the correct methods, and use them correctly.
looks like the issue is not fixed for C++ projects.
Corey Lean commented
I too had this error when copying deeply nested files. After searching a lot on the internet I found that GS Richcopy 360 had good reviews and I tried it. Now all my problems are solved related to file transfer and FTP. You can also try it, it helps!
Once Microsoft releases (RTM) a new version of Visual Studio (in this case Visual Studio 2017), they drop support for all previous versions of Visual Studio, with the sole exception being security updates. Therefore, it is highly unlikely that Microsoft would make any feature changes to Visual Studio 2015, or earlier.
Ray Rizzuto commented
It is great that APPLICATIONS built using .Net 4.6.2 can access long paths now. Is there a way to tell VS2015 to allow the compiler to accept long paths and not give errors like this:
51>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1898,5): error MSB4018: The "GenerateBindingRedirects" task failed unexpectedly.
51>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1898,5): error MSB4018: System.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.
Russell de Pina commented
Then why am I getting this error in VS 2017 for a cloud service built with .NET 4.6.2?
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. XXXXXXXXXXX C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Microsoft\VisualStudio\v15.0\Windows Azure Tools\2.9\Microsoft.WindowsAzure.targets 1058
Sophia Jason commented
Windows does not allow to perform any actions on file path more than 250. Let me tell a really easy method to solve this. Use GS Richcopy 360. It solved all my problems too. Try it, and you will be glad that you did!
Not working on VS 2017, project is .NET Core Web-API
Anurag Singh commented
I was also having this problem when I was transferring my files from my previous PC to my new laptop. After researching a lot I found that Windows doesn't support file path names more than 255 characters. I had to solve this issue quickly, my friend suggested me to use GS Richcopy 360. This software not only solved my problem of file path names but also provided great transfer speed due to its 100% multi threaded file transfer feature. Try it, maybe it could help you all too!
Mia Lee commented
This is one the most irritating problems ever encountered by me after my wife! LOL!
Jokes apart, when I try to copy files with path names longer than 255 character, Windows prompts error to me. I had to solve this problem ASAP. After searching a lot I found GS Richcopy 360 works best for these problems. I can rename files, move them delete them! But the features list doesn't stop there only. Some of my favorite features include Some of my favorite features include long path name support which is really important when copying large files, 100% multi threaded file transfer (as the company claims, you can witness the boost in transfer speed yourself), pre scheduled file transfer, email notification when the transfer is done, NTFS support, and many more exciting features. I am currently using the enterprise version of it. Try it hope it helps you all!
gabriel aga commented
Try long Path Tool
If you follow the directions at the URL posted above:
AND, are working on Windows 10 (or Windows Server 2016) with the proper profile setting set, it will work. If you are working on any other version of Windows, or have not turned on the profile setting, it will not work.
P.S. There is only one person that says anything about "Long Path Tool", and that is the author. He regularly SPAMs advertisements for his tool that look like normal posts from different people. Including every single post on this thread.
Welcome to the ******** that is Windows. Even after all these years we are still ******.
Corey Van Sickle commented
I just updated a WPF application to .Net 4.7 and I still cannot get IO.File.Exists to return true on any path longer than 260 characters, even when prepending such a path with "\\?\" (as noted in the .Net 4.6.2 announcement). I'm guessing that I'm not actually missing anything, because I haven't seen any comments actually saying that this is working. It would be nice to actually get a solution to this rather than just an announcement falsely claiming that it works.
I'm having this problem as well. The big green title says "Completed", but it's not. :( I've been scouring the internet for a long time and everybody keeps saying "Long Path Tool", but that's a work around AFAIC. If the issues is deep within Windows, then I feel the MSBuild system should do all it can to alleviate these problems to support modern web development tools. For example, one of my node packages (grunt css minifier) has ~8 - 10 nested "node_modules" in it. I'm tinkering with the csproj "beforebuild" and "afterbuild" tasks to try and fix it. Would love to see a clean solution to this problem!!
I can tell that the issue is not fixed in VS 2017 when it comes to C++ projects.
Foster Sanders commented
I had the same problem. I didn´t know what to do so I searched on the internet for some solutions.
And I read about [b]Long Path Tool[/b], which is a great tool in these type of cases. :o
It worked really well. Hope it works for you too :p
The fix applies to applications written to use it. Visual Studio 2015 is an application that currently does not make use of it, though you can write applications with Visual Studio 2015 that do. Visual Studio 2017 supports it, but no one has said if Visual Studio 2015 will be patched to use it.
Mike Clark commented
I'll also point out that I am only using .NET Core projects and still experience this issue from within VS.
Mike Clark commented
Unless I just completely misunderstood this fix, this is not working for me. I am using Visual Studio 2015 with Update 3, on Windows 10 with "Enable Win32 Long Paths" enabled. When I try to add a project whose final path exceeds 260 characters I receive the "The length of the full path for the solution, project or item blah blah blah" error. I can workaround this by manually renaming the project and it's path to the desired name, and adding it back to the solution. However, this is an insanely clunky mess and seems completely unnecessary. Obviously, as Visual Studio has no issues actually working with a project (that I can see anyways) there should be no reason for the UI to prevent me from doing this right in File > New Project.