.NET 4.6.2 and long paths on Windows 10

The Windows 10 Anniversary update is almost out the door. .NET 4.6.2 is in the update (as we’ve looked at in the past few posts). I’ve talked a bit about what we’ve done in 4.6.2 around paths, and how that is targeted at both allowing access to previously inaccessible paths and opens up the door for…

23

More on new .NET path handling

In my prior post I talked briefly about the new path handling in .NET 4.6.2. In the latest drop (14367) PowerShell opts into both of the new behaviors so you can easily play around with the changes. There are two basic changes that can be controlled via two compatibility switches. The changes both originated in…

10

New .NET path handling sneak peek

As mentioned I’m going to do the On .NET show in a couple weeks to talk about path changes in .NET. In the meantime, a little bit of fun for you if you’ve got the latest (14361) fast ring build for Windows 10 Anniversary Update… UPDATE: In the latest drop (14367) PowerShell opts into the new…

0

Using MSBuild properties in T4 templates

The Problem Text Templates in VS are cool, but they have some rough edges. One in particular is getting at project properties from your templates. One of the biggest problems is that the generator for the project build and the generator that runs inside VS are different. The project build generator will allow you to…

0

VS Background Builds

Two MSBuild related things that I keep losing track of every few years that are incredibly hard to discover. Logging Background Builds Visual Studio does a number of background (or “Design Time”) builds on your behalf. They don’t log anywhere by default. If you want to look at what is going on you need to “set TRACEDESIGNTIME=true”…

0

Long paths in .NET

The answer is yes, we have done work to support long paths in Windows. As Windows unblocks MAX_PATH scenarios you’ll be able to take advantage with your .NET 4.6.2 applications. I plan to talk about what we’ve done with paths in both .NET Core and .NET 4.6.2 on an upcoming On .NET talk on June…

2

DOS to NT: A Path’s Journey

Overview Most of us are familiar with DOS style paths to files such as C:\bar\foo.txt. Most aren’t familiar with the DOS Device format of said path: \\.\C:\bar\foo.txt. Even less know about the lowest level version of this path- the “real” NT path to the file object that Windows uses internally: \Device\HarddiskVolume4\bar\foo.txt. Knowing how paths resolve through the…

2

Path Normalization

Here is part two of my discussion on Windows paths- the normalization of paths. See the first post at Path Format Overview. Important: Some things I discuss aren’t explicitly or centrally documented. While you can discover these details by thorough searching and experimentation, be very cautious of second guessing Windows APIs. If you need functionality a…

0

Path Format Overview

As promised, here is the start of the look into paths on Windows. I’ll keep things simple at first and layer on complexity in additional posts. In this post we’ll look at a top level overview of the path formats in use in Windows. DOS Paths Let’s start with the DOS path format that has…

2

Breaking the silence

It has been about 8 years since I posted last. I didn’t have a lot to say that was of general interest, and most of what I was doing involved things that I couldn’t talk about at the time. :/ Now I’m working on .NET directly, and in particular .NET Core (yay open source!). It is…

0