Politics, Weather, Photography, and the Dog
Friday 7 March 2014

One of my tasks at my day job today is to get continuous integration running on a Jenkins server. It didn't take too long to wrestle MSBuild to the ground and get the build working properly, but when I added an MSTest task, a bunch of unit tests failed with this error:

System.IO.FileNotFoundException: Could not load file or assembly 'System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

The System.Web.Providers assembly is properly referenced in the unit test project (it's part of a NuGet package), and the assembly's Copy Local property is set to True.

When the unit tests run from inside Visual Studio 2013, they all work. When ReSharper runs them, they all work. But when I execute the command line:

MSTest.exe /resultsfile:MSTestResults.trx /testcontainer:My.Stupid.Test\bin\My.Stupid.Test.dll /test:MyFailingTest

...it fails with the error I noted above.

I'll spare you the detective work, because I have to get back to work, but I did find the solution. I marked the failing test with a DeploymentItemAttribute:

[TestMethod]
[DeploymentItem("System.Web.Providers.dll")]
public void MyFailingTest()
{
	try
	{
		DoSomeTestyThings();
	}
	finally
	{
		CleanUp();
	}
}

Now, suddenly, everything works.

And people wonder why I hate command line crap.

Friday 7 March 2014 14:15:00 CST (UTC-06:00)  |  | Software#
Search
On this page....
Could not find assembly in command-line MSTest execution
Countdowns
The Daily Parker +3361d 22h 38m
Berlin 14d 07h 10m
Parker's 9th birthday 139d 14h 35m
My next birthday 220d 18h 40m
Categories
Aviation (351) Baseball (110) Best Bars (8) Biking (44) Chicago (936) Cubs (197) Duke (133) Geography (341) Higher Ground (5) Jokes (284) Kitchen Sink (671) London (59) Parker (195) Daily (204) Photography (145) Politics (303) US (1108) World (260) Raleigh (21) Readings (8) Religion (66) San Francisco (93) Software (209) Blogs (77) Business (235) Cloud (90) Cool links (137) Security (101) Travel (243) Weather (717) Astronomy (90) Windows Azure (61) Work (92) Writing (10)
Links
Archive
<January 2015>
SunMonTueWedThuFriSat
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567
Full archive
Blogroll
About
David Braverman and Parker
David Braverman is the Chief Technology Officer of Holden International in Chicago, and the creator of Weather Now. Parker is the most adorable dog on the planet, 80% of the time.
Legal
All content Copyright ©2015 David Braverman.
Creative Commons License
The Daily Parker by David Braverman is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 United States License, excluding photographs, which may not be republished unless otherwise noted.
Admin Login
Sign In
Blog Stats
Total Posts: 4649
This Year: 35
This Month: 35
This Week: 3
Comments: 0