我有一个使用Azure 1.4 SDK的应用程序(之前的1.3有相同的问题)。如果我尝试将应用程序部署为完整IIS,则会在Intellitrace日志中收到以下错误。
System.TypeLoadException:由于以下异常,无法加载角色入口点:System.IO.FileLoadException:无法加载文件或程序集'System.Web.Mvc,Version = 2.0.0.0 .. blah ..找到的程序集清单与程序集引用不匹配。
该网站使用的是ASP.NET MVC 3,而不是版本2.似乎Full IIS正在寻找错误版本的dll。我已将项目中的MVC dll设置为Copy Local,因此它们应该部署在bin目录中。
如果我通过注释掉ServiceDefinition.csdef中的部分将该站点部署为旧的托管Web核心,那么它将部署并正常运行。
答案 0 :(得分:1)
这似乎是一个可能已经创建为MVC2应用程序的应用程序,然后您将其迁移到MVC3,对吗?它失败的原因是您的计算机上安装了MVC2和MVC3,当您在本地运行它时,您的应用程序正在将MVC2加载到GAC之外。当您将其部署到Azure时,它无法找到MVC 2,因为MVC未安装在创建新部署时获得的基本Azure映像上。
我会查看我的配置文件,并仔细查看对MVC 2.0的任何引用。看看reference like this并确保您没有忽略任何步骤。您可能忽略了更改项目类型guid,或者错过了其中一个配置文件。