Just a quick post today about trust levels for .NET assemblies that are hosted remotely. My current set up at work means that I am maintaining one version of our web site while working on developing a new one - not uncommon. I have 2 virtual servers running Server 2003, IIS and SQL Server, each an identical copy of our production server. Each solution and it’s projects are stored on each virtual server, with the project folders shared and mapped as drives on my laptop. (Before I get messages saying “why don’t you use source control, you can create branches etc, etc” - I am aware of that and the decision not to use source control is based on other factors that I’m not going to get into.)
Anyhow, on to the problem and, the solution.
When opening a Visual Studio solution from a mapped or network location, you get a “project location not trusted” error. By default, your .NET configuration grants FULL trust to your local machine, so you won’t get that message working on a local project. Also by default, the Local Intranet is given a step below full trust - and here is the problem. You will need to be a local administrator on your computer to make these changes.
Open a command prompt, navigate to:
- cd %systemroot%\Microsoft.NET\Framework\\
Run the following command:
- CasPol.exe -pp off -m -ag 1.2 -url file://r:\folder* FullTrust
or, for an unmapped folder
- CasPol.exe -pp off -m -ag 1.2 -url file://computername/folder/* FullTrust
This will set the share to full trust and allow you to work with the remote folder/mapped drive as if it’s on your local machine.
For more details about using CasPol.exe and a break down of the above commands, check out the .NET Security Blog