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()
在常规的编辑-构建-执行周期中,这个问题也会间歇性地发生,有时需要从Visual Studio重新启动才能使其正常工作。
这个问题在MSBuild和Visual Studio 2010中都存在。我已经安装了所有最新的更新(WCF RIA服务SP2)。在使用Silverlight 4工具时它就出现了,并且升级到Silverlight 5并没有解决这个问题。这个问题在VS 11的beta版中仍然存在。
我无法像这里所描述的更改构建顺序(引用自这里),因为MSBuild会报告循环依赖关系,而Visual Studio则表示我不能从Silverlight项目中引用非Silverlight项目。从那个页面上,我还尝试了按照这个链接所述,在注册表中将默认的ToolsVersion从2.0更改为4.0。
我肯定是在使用32位版本的MSBuild,因为尝试使用64位版本会失败,提示无法加载实体框架模型。我也没有使用/m开关进行并行构建。
该项目最初是一个Web项目(托管Silverlight控件所在的站点、RIA服务,并包含业务逻辑)和一个Silverlight项目。将其更改为3个项目(包括一个包含逻辑的类库)没有任何区别。
我计划尝试的下一步是将托管RIA服务的项目与托管Silverlight应用程序的项目分开,但这对我们来说并不理想(而且我甚至不确定它是否有效)。