6

This question is different from the questions posted here and here even though the titles are the same.

The problem arises intermittently. The error always occurs if the project has been cleaned or is being built from a fresh checkout. Pushing build again immediately usually results in the build succeeding. The stacktrace I get is:

error MSB4018: The "CreateRiaClientFilesTask" task failed unexpectedly. 
System.AppDomainUnloadedException: Attempted to access an unloaded AppDomain. 
  at System.IDisposable.Dispose() 
  at Microsoft.ServiceModel.DomainServices.Tools.CreateRiaClientFilesTask.GenerateClientProxies() 
  at Microsoft.ServiceModel.DomainServices.Tools.CreateRiaClientFilesTask.ExecuteInternal() 
  at Microsoft.ServiceModel.DomainServices.Tools.RiaClientFilesTask.Execute() 
  at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 
  at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__1c.MoveNext() 

The problem also occurs intermittently during regular edit-build-execute cycles, and sometimes a restart from Visual Studio is required to make it work on these occasions.

The problem occurs both in MSBuild and Visual Studio 2010. I have all of the latest updates installed (WCF RIA Services SP2). It occurred when using the Silverlight 4 tools, and upgrading to Silverlight 5 has not solved the problem. The problem also still occurs in the beta of VS 11.

I've not been able to change the order of the build as described here (referenced from here) as MSBuild complains of a circular dependency and Visual Studio says that I can't reference a non-Silverlight project from a Silverlight one. From that page I have also tried following this link and changed the default ToolsVersion from 2.0 to 4.0 in the registry.

I'm definitely using the 32 bit version of MSBuild, as trying to use the 64 bit version fails with failing to Hydrate the entity framework model. I'm not using the /m switch to build it in parallel either.

The project was initially a web project (which hosts the site that the Silverlight control lives on, RIA services, and contains the Business logic) and a Silverlight project. Changing this to 3 projects (with a class library containing the logic) doesn't make any difference.

The next thing I'm planning on trying is having the project hosting the RIA service separate from the one hosting the Silverlight app, but that's not ideal for us (and I'm not even sure it will work).

Community
  • 1
  • 1
Matthew Steeples
  • 7,858
  • 4
  • 34
  • 49

7 Answers7

3

In my case, this exception was caused by McAffee's anti-virus application. Disabling the 'On-Access' (or was it 'On-Demand') feature resolved the issue.

I had a similar issue in the past with Microsoft's Security Essentials which was resolved by adding the exclusions below. I suspect that it is the 'Temporary ASP.Net Files' folder exclusion that would be required to solve the issue here.

Excluded Files and Locations

  • C:\Temp\Default\NuGet.exe
  • C:\Temp\NativeImage\NuGet.exe
  • C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
  • NuGet.exe

Excluded Processes

  • C:\Program Files (x86)\Common Files\microsoft shared\DevServer\11.0\WebDev.WebServer40.EXE
  • C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe
  • C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Microsoft.VisualStudio.Web.Host.exe
  • C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
Scott Munro
  • 13,369
  • 3
  • 74
  • 80
  • This fixed it for me too although instead of excluding things I removed McAfee and installed something else. – BenCr Mar 13 '13 at 09:06
  • This fixed it for us as well. But we could not permanently disable McAfee or change the exclusions because of company policy, and we found a way to move 'Temporary ASP.Net files' to a different location. I'm adding a separate answer for that. – MarnixKlooster ReinstateMonica Apr 08 '14 at 14:27
1

This exception is driving me crazy! I also tried to clean ASP.Net temporary folder, clean all projects in the solution, run VS as administrator etc. But still I have this problem. My solution to the problem is twice rebuild Web project.

George
  • 11
  • 1
1

In our case we ran into the same problem as reported in another answer to this same question (https://stackoverflow.com/a/14125687/223837): McAfee strangely interfered with the files in 'Temporary ASP.NET Files'. But in our case we could not disable McAfee or change the excluded folders because of company policy.

But we found a different solution: what we did is update the machine.config file (in our case C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config), and add a <compilation tempDirectory="..."/> element, as follows:

<configuration>
    <!-- snip -->
    <system.web>
        <!-- snip -->
        <compilation tempDirectory="c:\A_FOLDER_THAT_IS_SKIPPED_BY_MCAFEE\TempASP.NETFiles\"/>
    </system.web>
    <!-- snip -->
</configuration>

(Inspiration for this solution direction came from an answer to a related question: https://stackoverflow.com/a/1255303/223837.)

Community
  • 1
  • 1
0

I had the exact same thing happening to a couple of my projects. I found (inferred really) it was related to my upgrade path of RIA and Silverlight. I got a new machine, with all the updates on and it STILL happened. However, when I re-created the projects from scratch (copying the files over, and settings, NOT the 'generated' assembly information), the problem went away.

Not a definitive answer you'd expect I suppose, and to be honest, re-creating the solution from scratch was a pain. I do suspect (and the only conclusion I could bring) it was related to some GAC declaration or other that was asking for an earlier version of the RIA framework.

I HAD installed a version of RIA and coded using it, and there were a couple of Silverlight updates that happened in quick succession during this time. I have had no problems since.

BaconSah
  • 421
  • 3
  • 10
  • Same experience here: we had this on a build server, and it went away only when we moved to a new one. I have it on my development system (but rarely), and I'm pretty sure it will go away once I move to a new one. Still, annoying. – MarnixKlooster ReinstateMonica Apr 14 '12 at 07:32
0

I found a solution to this problem which has so far fixed the issue on every server and client that I've run it from.

My initial project layout had a Web Project which acted as a host for both the RIA components and the Silverlight app itself. I created a class library for the RIA services, moved all of my RIA logic into there and added a reference to it from the Web Project. Then I updated the RIA link in Silverlight to point to this new project.

I had to add the following line into the Silverlight app.xaml.cs file so that authentication worked.

((WebAuthenticationService)WebContext.Current.Authentication).DomainContext 
    = new RiaNamespace.AuthenticationDomainContext();
Matthew Steeples
  • 7,858
  • 4
  • 34
  • 49
0

Remove or disable your virus-scanner during build. Worked for me too!

RedFury
  • 11
  • 2
0

I had the same problem.

I just changed the "Assembly Version" number and my project was OK.

Bernhard Barker
  • 54,589
  • 14
  • 104
  • 138