У меня есть проект MVC4 + EF4.0 .NET 4.5 (скажем, MyProject
). Я прекрасно могу запустить проект локально. Когда я развертываю по FTP его на веб-сайтах Azure (не в облачной службе), он тоже работает нормально. Однако, если я выполняю развертывание GIT, сайт по большей части «работает» до тех пор, пока он не выполнит некоторые операции с базой данных EF5.0. Я получаю исключение Unable to load the specified metadata resource
.
После отладки я заметил, что если я:
- GIT развернет весь проект MVC4 (как и раньше)
- FTP, а затем замените
bin\MyProject.dll
файломbin\MyProject.dll
, который я только что создал локально (Windows 8 x64, VS2012, инструменты Azure Oct'12) после нажатия GIT (т. Е. Тот же источник)
тогда веб-сайт, размещенный в Azure, работает нормально (даже функциональная часть базы данных EF5.0).
Локально созданная .dll примерно на 5 КБ больше, чем созданная для публикации в Azure GIT, и обе находятся в режиме «Release». Очевидно, что проект, созданный после нажатия на GIT (внутри Azure), строится иначе, чем на моем собственном ПК. Я проверил портал, он установлен на .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 = ""),
Кто-нибудь знает, почему это происходит и что можно исправить?