我有一个 MVC4 + EF4.0 .NET 4.5 项目(比如说,MyProject
)我能够在本地运行该项目就好了。当我FTP 将其部署到 Azure 网站(不是云服务)时,它也运行良好。但是,如果我执行GIT deploy,该站点大部分时间都会“运行”,直到它执行一些 EF5.0 数据库操作。我得到一个例外Unable to load the specified metadata resource
。
调试后,我注意到如果我:
- GIT部署整个MVC4项目(和以前一样)
- FTP进去,然后用我刚刚在本地构建
bin\MyProject.dll
的bin\MyProject.dll
文件(Windows 8 x64,VS2012,Oct'12 Azure工具)替换GIT推送之后(即相同的来源)
然后 Azure 托管网站运行良好(甚至是 EF5.0 数据库功能部分)。
本地构建的 .dll 比 Azure GIT 发布构建的 .dll 大约 5KB,并且两者都是“发布”模式。很明显,在 GIT 推送(Azure 内部)之后构建的项目与在我自己的 PC 上构建的项目不同。我检查了门户网站,它设置为 .NET 4.5。我也在 GIT 推送整个解决方案文件夹(只有一个项目),而不仅仅是一些零碎的东西。
当我加载本地构建和远程构建的 MyProject.dll 文件时,我注意到以下差异(FrameworkDisplayName)
当地的:
System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5"),
偏僻的:
System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ""),
任何人都知道为什么会发生这种情况以及解决方法可能是什么?