tags:

views:

6622

answers:

6

I just added xUnit to our test project (for the Asserts, we're still using MSTest as the framework) and immediately the test runs refused to execute any of the tests. This is the error message:

Failed to queue test run '{ .... }' Test run deployment issue: The location of the file or directory '...xUnit.dll' is not trusted.

+51  A: 

It took me a few tries to find the answer in Google, so I'm putting it here in case anyone else runs into the same problem. A detailed description can be found at this blog posting.

Basically, the fix invovles right-clicking on the dll file (xunit.dll for example) in Windows Explorer, going to Properties, and clicking "Unblock" at the bottom of the tab next to the 'Security' text. It seems that Vista / Windows 2008 will automatically mark assemblies that come from other machines or the internet as unsafe.

Jedidja
Thank you so much!! Thank you for the time that you took to post this, you resolved my problem in < 5 minutes.
Rihan Meij
For some wierd reason I don't have the option to "UnBlock". There is no button. And I have the latest and greatest installed on my XP machine.
irperez
Thanks! After doing this, I had to restart Visual Studio to get the tests to run properly.
StriplingWarrior
@StriplingWarrior - +1 for having to restart Visual Studio
Vaccano
Just to make it clear, you get to the 'Unblock' button by going to the dll's properties in Windows Explorer, NOT in Visual Studio. This confused me for a bit.
Rupert Bates
Updated as per Rupert's suggestion.
Jedidja
+9  A: 

In my team we had the same problem.

Your solution didn't work, but this post by Charles Sterling did help.

We used the following line:

caspol -machine -addgroup 1 -url file://\\server/share/* FullTrust -name DevShare
Davy Landman
This is not needed any more after you install .Net 3.5 SP1, as this release changes the default trust level of network shares. Until you do install 3.5SP1 this is probably the best workaround.
Bert Huijben
@Bert Huijben, that's correct (http://stackoverflow.com/questions/148879/why-does-my-net-application-crash-when-run-from-a-network-drive/). But we kept having the problem even after 3.5SP1, but only when run via MSTest the error's would show up, just running the app, no problems.
Davy Landman
This one totally worked for me as well. Good show!
Mike Caron
This one did not work for me originally on an XP box (see my alternate answer below) but it was the answer that did work when I moved to Win7/64.
Eric
@Eric funny thing is, this did work on my 32bit XP box..
Davy Landman
+9  A: 

After having this issue and burning hours trying to get "Unblock" to stick longer than a few minutes and/or figuring out caspol to no avail, I finally found a little tidbit via Google that the assemblies will be blocked again the next time you build or rebuild the project, since they're re-copied from their original source location. (I guess I never noticed that this happened before with references assemblies, but anyway...)

My fix for this was the following:

  1. Copy all the needed DLLs to another spot for safe-keeping

  2. Remove the references in Visual Studio

  3. Physically delete the DLLs in the bin folder

  4. Unblock the DLLs individually in the spot where they were copied off

  5. Add the references back in Visual Studio from the holding spot

Every subsequent build or rebuild worked fine afterward.

markrob35
+1  A: 

I had the same problem with downloaded DLLs blocked by Vista. You need Administrator rights to get the "Unblock" button on the file's Properties. I simply replaced the DLLs with the latest version from source control (TFS) where I had committed them before.

Simon Hohenadl
+5  A: 

Running on an XP machine (even with .NET 3.5 SP1 installed) I was not able to get any of the other solutions listed here to work.

However working from the same post by Charles Sterling that Davy Landman references, I finally succeeded with this variation:

  1. Run the .NET 2.0 Configuration tool (Settings... Control Panel... Administrative Tools... .NET Framework 2.0 Configuration)
  2. Click down to "My Computer ... Runtime Security Policy ... Machine ... Code Groups ... All_Code"
  3. Create a new code group with membership condition of "Zone"="Local Intranet" and assign the permission set "FullTrust"
  4. Restart Visual Studio

After these steps I am able to run tests, including after restarts and rebuilds.

EDIT: as described in this answer, you may need to install the .NET SDK (which is different from the .NET framework) in order to have the .NET 2.0 Configuration tool on your system.

Eric
When I later moved to a Win7/64 box, this approach did not work. However Davy Landman's 'caspol' solution above worked fine.
Eric
+2  A: 

I had the same problem with moq. But would not 'unblock'. Every time I unblocked it, it was still blocked!?!?

I had to unblock the original zip file I downloaded. Then copy the DLL from the zip file again. It work after that.

Casey Burns