【发布时间】:2012-03-28 19:48:43
【问题描述】:
这个问题与here 和here 发布的问题不同,尽管标题相同。
问题间歇性出现。如果项目已被清理或正在从新结帐构建,则始终会发生错误。立即再次推送构建通常会导致构建成功。我得到的堆栈跟踪是:
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 Services SP2)。使用 Silverlight 4 工具时出现,升级到 Silverlight 5 并没有解决问题。在 VS 11 的 beta 版本中也仍然存在该问题。
我无法按照here(引用自here)的描述更改构建顺序,因为 MSBuild 抱怨循环依赖并且 Visual Studio 说我不能引用非 Silverlight 项目来自 Silverlight 的。在该页面上,我还尝试关注this link,并将注册表中的默认 ToolsVersion 从 2.0 更改为 4.0。
我肯定在使用 32 位版本的 MSBuild,因为尝试使用 64 位版本会失败,因为无法 Hydrate 实体框架模型。我也没有使用 /m 开关来并行构建它。
该项目最初是一个 Web 项目(托管 Silverlight 控件所在的站点、RIA 服务并包含业务逻辑)和一个 Silverlight 项目。将其更改为 3 个项目(使用包含逻辑的类库)没有任何区别。
我计划尝试的下一件事是将托管 RIA 服务的项目与托管 Silverlight 应用程序的项目分开,但这对我们来说并不理想(我什至不确定它是否会起作用)。
【问题讨论】:
-
备案:一个密切相关的问题是stackoverflow.com/q/4450340/223837。
标签: silverlight msbuild wcf-ria-services