0

我有一个在 Windows Azure 上运行的 LoB Silverlight 5 应用程序。我使用 EF4 和 RIA 服务开发了该应用程序。我决定将模型更新为 EF5,并使用最新的 RIA 服务将其保留在 .NET 4 上。

简短的故事
在我更新到 EF5 和 RIA 服务 4.2 后,该应用程序在模拟器中本地运行,但在 Azure 上崩溃。

长话短说
应用程序分为 4 个项目:客户端、服务器(包含DbContext)、模型(包含edmx文件)、助手。

当我决定更新时,我从模型项目开始:删除旧引用,删除edmx,添加新引用(nuget),生成新的edmx. 它构建正确。

然后是服务器项目:删除旧引用,添加新引用(nuget),更改域服务文件DbContext并进行编辑,使其适用于 EF5。它构建并且应用程序在本地工作(没有天蓝色模拟器)。

当我在 Azure 模拟器上测试时,响应是 501。我在某处找到(我会在再次找到它时发布链接)解决方案是在引用实体框架的app.config文件中添加一个包含相同runtime/assemblyBinding/dependentAssembly/assemblyIdentity部分的文件。web.config

然后我在 Azure 上的暂存环境上上传,WaBootstrapper 的过程不断循环尝试安装服务器代码,而 WaIISHost 不断崩溃。

我尝试过的事情

  • 将名称更改为 app.config 到服务器程序集 dll,例如:AppName.Web.dll.config
  • 删除System.Data.Entity(根本不构建..需要那个dll);
  • 迁移到 .NET 4.5 以摆脱System.Data.Entity;
  • 检查每个项目中的所有引用和“复制本地”选项;
  • 迁移到 Entity Framework 6 (RC1).. 只是尝试.. 我不能为此受到责备;
  • 其他我不记得的东西)。

上面的列表都没有改变结果。我花了一周多的时间在这上面,现在我想我失去了注意力……所以我在寻求你的帮助。伙计们,你们救了我不止一次。我什至无法记住互联网和 StackOverflow 之前的情况。

谢谢..欢迎任何帮助

PS 由作者编辑,我忘了提及我还将 Windows Azure SDK 从 1.7 更新到 2.1。

4

2 回答 2

0

如果您使用空间数据类型,则它们被定义为 Microsoft.SqlServer.Types。我读过一条推文(我不记得了——抱歉),因为 Azure 映像不包含此文件,因此他们必须为这种类型切换到“本地复制”。

我确实发现这篇关于代码项目的文章在背景部分突出了这个问题。将空间数据与 SQL Server 2012、Entity Framework 5 和 ASP.NET MVC 结合使用

HTH,理查德

于 2013-09-04T21:32:38.133 回答
0

安装了 Visual Studio 2013,打开项目,有人问我是否要更新到 Windows Azure SDK 2.2:是。建造。发表。作品。

我真的不知道发生了什么。无论如何,我的项目超出了这一点,所以我必须再次迁移到 EF 5 和新的 Ria 服务。如果我发现其他内容,我将编辑此答案。

于 2013-11-06T19:02:40.390 回答