TFS Error: MSB4018 The "BuildShadowTask" task failed unexpectedly

TL;DR

Explains the MSB4018 "BuildShadowTask" error in TFS when using Accessors in unit test projects, its cause, and how removing .accessor files resolves build issues.

3 July 2008
Written by Martin Hinshelwood
2 minute read
Comments
Subscribe

There seams to be a problem in MSBuild when you add an “Accessor” as part of a Unit Test project.

C:Program FilesMSBuildMicrosoftVisualStudiov9.0TeamTestMicrosoft.TeamTest.targets(14,5): error MSB4018: The "BuildShadowTask" task failed unexpectedly.
System.IO.FileLoadException: API restriction: The assembly 'file:///C:WINDOWSMicrosoft.NETFrameworkv2.0.50727System.Web.dll' has already loaded from a different location. It cannot be loaded from a new location within the same appdomain.
   at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
   at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
   at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
   at System.Reflection.Assembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, StackCrawlMark& stackMark)
   at System.Reflection.Assembly.ReflectionOnlyLoadFrom(String assemblyFile)
   at Microsoft.VisualStudio.TestTools.UnitTesting.Publicize.WebBinder.LoadData()
   at Microsoft.VisualStudio.TestTools.UnitTesting.Publicize.WebBinder.Init()
   at Microsoft.VisualStudio.TestTools.UnitTesting.Publicize.Shadower..ctor()
   at Microsoft.VisualStudio.TestTools.BuildShadowReferences.BuildShadowTask.Execute()
   at Microsoft.Build.BuildEngine.TaskEngine.ExecuteInstantiatedTask(EngineProxy engineProxy, ItemBucket bucket, TaskExecutionMode howToExecuteTask, ITask task, Boolean& taskResult)

An Accessor allows your test project to access code that would normally be “Private” or “Friend” from outside the Assembly that it resides in.

image

It creates a little file with the “.accessor” extension that is the same name as your DLL, and contains the name of the DLL.

image

If you remove this file then your remote MSBuild server will then build you solution successfully again including running your Unit Tests.

Reference:

Re: BuildShadowTask Failed unexpectedly - Accessor Problem (Upconvert VS 2005 to 2008) – URGENT

BuildShadowTask Failed unexpectedly - Accessor Problem (Upconvert VS 2005 to 2008) – URGENT

Technorati Tags: ALM  TFBS  TFS 2008  VS 2005

Smart Classifications

Each classification [Concepts, Categories, & Tags] was assigned using AI-powered semantic analysis and scored across relevance, depth, and alignment. Final decisions? Still human. Always traceable. Hover to see how it applies.

Comments
Subscribe

What to read next

Article Engineering Excellence

Solution: Testing Web Services with MSTest on Team Foundation Build Services 2010

Explains how to configure MSTest for automated testing of web services on Team Foundation Build Services 2010, including handling dynamic …

Read article
Article Engineering Excellence

Team Foundation Build 2012 Issue - The target CleanWorkspacePackageTempDir does not exist

Explains how to resolve the "CleanWorkspacePackageTempDir does not exist" build error in Team Foundation Build 2012 for upgraded ASP.NET MVC …

Read article
Article Scrum

Finding the problem on a partially succeeded build on Team Foundation Build Services 2010

Learn how to diagnose and resolve partially succeeded builds in Team Foundation Build Services 2010 by tracing test failures, identifying …

Read article
Article Engineering Excellence

Solution: Getting Silverlight to build on Team Foundation Build Services 2010

Step-by-step guide to resolving build failures when compiling Silverlight 3 projects with Team Foundation Build Services 2010, including …

Read article