Recommended? probably not. Illegal? maybe. Possible? yes.
You can use virtual directories in the App_Code directory of an ASP.Net file-based website hosted in IIS7.
Create the empty path on disk
First, create a file structure similar to the path below, where "MyWebRoot" is the root directory of your website and "MySharedCode" is the name you want for the virtual directory that will contain the shared *.cs or *.vb source code files.
E:\MyWebRoot\App_Code\MySharedCode
Mask the physical path with the virtual directory
Next, open the Internet Information Services (IIS) Manager and find your site under the "Sites" node of the server.
Click the plus next to the site name to expand the site. You will see the top level directories listed.
Right-click on the "App_Code" directory and choose "Add Virtual Directory..." (See screenshot)
IIS Virtual Directory Dialog Screenshot
Type the name of your shared code virtual directory into the "Alias" text box. This name must match the name of the empty folder you created in the App_Code directory.
Finally, enter the actual path to the shared code location in the "Physical path" text box.
Click "OK" to finish creating the virtual directory.
The next time you browse the site, IIS should compile the files located in the physical path that your virtual directory references.
NOTE: You may need to reset IIS or "touch" the Web.Config file to kickstart that process.
Start > Run > iisreset
Apparently, IIS gives precedence to the content of the virtual directory but it needs the presence of the physical path to motivate it to compile.
After searching for more combinations of IIS and plus, it appears that IIS7[.5] is set up to reject URLs with a plus sign by default out of some fear of the use of that character; that symbol is still allowed in the querystring, though. The solution is to alter the requestFiltering attribute default on <system><webServer><security><requestFiltering>
to allow doubly-encoded characters with a command line call (ultimately modifying your ASP.NET web.config):
%windir%\system32\inetsrv\appcmd set config "Default Web Site" -section:system.webServer/security/requestFiltering -allowDoubleEscaping:true
This may be a bit more dangerous than one prefers to be with their web site, but there didn't appear to be a way to be more specific than a blanket allow. The warnings were regarding the mismatching that could occur between using a plus in a URL and its typical translation as a space. It looks like the only other alternative is to stop using plus characters in your URLs at all.
Best Answer
The wording is scary but "Remove" converts it back to a regular folder. It doesn't actually delete the folder itself as you may assume. So, the command is still in the right-click on the vdir itself.