Make Visual Studio work with VMWare Fusion Shares

Tags: , ,

Development, Virtualization

VMWare Fusion allows Mac users to run virtualized operating systems. The “Shared Folder” feature allows for sharing profile folders on the Mac (Desktop, Documents, Music, Pictures) with virtualized operating systems. Having a shared work space eliminates the need for duplication of files that need to be used in both operating systems.

I run a virtualized Windows XP operating system so that I can code in Visual Studio on my Mac. I prefer to do design (HTML, CSS) on the Mac side of things. Having shared storage for use in my projects eliminates the need to copy back and forth. It also allows me to backup my Visual Studio projects using Time Machine without having to make a copy of my VM every time. However, to make Visual Studio happy with the shared Documents folder, there some settings that need changed.

Change the Documents folder location to be a mapped drive

When working with web projects located on shared storage, Visual Studio doesn’t like the .host location shared by VMWare because of the dot in front of the share name. This is resolved by mapping the .host share to a network drive, and setting the My Documents folder in Windows to be located on the network drive. VMWare automatically maps its shares to the Z drive.

Get rid of the “failed to start monitoring changes” build error

Visual Studio’s default behavior is to monitor folders in web projects for changes. Because the Documents folder is on a UNC share, this behavior prevents web projects from building. The only solution I have found is to disable this behavior.

  1. Open regedit and navigate to HKLM\Software\Microsoft\ASP.NET\
  2. Create a new DWORD value named FCNMode
  3. Set FCNMode to have a decimal value of 1

Get rid of the “Project location not trusted” error

By default, the .NET configuration will not trust the shared folders from VMWare for projects. You will see an error when opening projects from the shared folder.

DotNet Trust Issue

You must tell .NET to trust the location. Install the .NET Framework 2.0 SDK.When installing, you will only need “Tools and Debugger”; uncheck everything else. After the install, you will have a new tool under Administrative Tools for .NET 2.0 configuration.

DotNet SDK Install

  1. Open the .NET configuration tool
  2. Expand the tree on the left side to My Computer > Runtime Security Policy > Machine > Code Groups > All Code > LocalIntranet_Zone
  3. Right click on LocalIntranet_Zone and select the “new” option to create a new code group
  4. Name the code group “.host” (without the quotes) and click next
  5. Change the condition type dropdown to URL and enter “file:\\.host\*” (without the quotes) in the URL text box type and click next
  6. Choose “Full Trust” as the existing permission set, click next, then click finish. You should see a .host in the LocalIntranet_Zone as shown below. Save and close all windows.
Netconfig

 

You will now need to tell Internet explorer that .host is a trusted zone.

  1. Open up IE and go to Tools –>Internet Options
  2. Go to the Security tab, highlight Local Intranet and click the sites button
  3. Click the advanced button. In the “Add this website to zone” text box, type “file://..host/*” without the quotes and click add. Save and close all windows.

You’re all set. Visual Studio will now work with VMWare Fusion’s shared folders. Happy coding.