Задача
Перенести проект с MVC 3 на MVC4 (с VS 2010 на VS2012)
Решение
1. Смена студий с Visual Studio 2010 на Visual Studio 2012
Переоткрыл солюшн в новой студии. Студия сама сделала перконвертацию. У меня обошлось без ошибок
2. Смена MVC 3 на MVC 4
Использовал NuGet пакет
Auto Upgrade MVC 3 To MVC 4 version 1.0.1
https://www.nuget.org/packages/UpgradeMvc3ToMvc4
В окне Manage NuGet Packages в поиске ввел "upgrade". Нужный плагин нашелся на первой странице.
3. Правка кода
3.1. Не вызывается событие ExecuteCore
Предыдущие этапы у меня прошли гладко.Но столкнулся с проблемой.
Суть: перестало вызываться событие ExecuteCore
Обращу внимание: у Вас этой проблемы может не возникнуть, если вы не использовали ExecuteCore.
Решение описал в статье:
Проблема перехода с MVC3 на MVC 4 : Не вызывается событие ExecuteCore
3.2. Ошибка компилятора Compiler Error Message: CS1513: } expected
Тут просто компилятор ведет себя по другому.
теперь код вью нужно поправить в соответствии с рекомендациями
обсуждение
http://stackoverflow.com/questions/12809855/issue-migrating-mvc3-application-to-mvc4-compiler-error-message-cs1513-expe
3.3. Ненужная валидация hidden полей
Стала работать валидация hidden полей. она мне не была нужна
Она была мне не нужна, поэтому отключил её.
$(document).ready(function () {
//-- отключаю валидацию скрытых полей в форме
$.validator.setDefaults({ ignore: 'input:hidden' });
});
тут помогло обсуждение
http://stackoverflow.com/questions/10136342/perform-validation-on-hidden-fields
Ссылки по теме
В этом обсуждении подсмотрел ссылку на пакет Auto Upgrade MVC 3 To MVC 4
http://stackoverflow.com/questions/8853330/converting-a-asp-net-mvc-3-project-to-mvc-4
Upgrading an ASP.NET MVC 3 Project to ASP.NET MVC 4 - этой статьей честно говоря не воспользовался
Перенести проект с MVC 3 на MVC4 (с VS 2010 на VS2012)
Решение
1. Смена студий с Visual Studio 2010 на Visual Studio 2012
Переоткрыл солюшн в новой студии. Студия сама сделала перконвертацию. У меня обошлось без ошибок
2. Смена MVC 3 на MVC 4
Использовал NuGet пакет
Auto Upgrade MVC 3 To MVC 4 version 1.0.1
https://www.nuget.org/packages/UpgradeMvc3ToMvc4
В окне Manage NuGet Packages в поиске ввел "upgrade". Нужный плагин нашелся на первой странице.
3. Правка кода
3.1. Не вызывается событие ExecuteCore
Предыдущие этапы у меня прошли гладко.Но столкнулся с проблемой.
Суть: перестало вызываться событие ExecuteCore
Обращу внимание: у Вас этой проблемы может не возникнуть, если вы не использовали ExecuteCore.
Решение описал в статье:
Проблема перехода с MVC3 на MVC 4 : Не вызывается событие ExecuteCore
3.2. Ошибка компилятора Compiler Error Message: CS1513: } expected
Тут просто компилятор ведет себя по другому.
теперь код вью нужно поправить в соответствии с рекомендациями
Don’t : @{if(check){body}}
Recommended : @if(check){body}
Don’t : @if(@variable)
Recommended : @if(variable)
Don't : @{int a = @Model.Property }
Recommended : @{int a = Model.Property }
обсуждение
http://stackoverflow.com/questions/12809855/issue-migrating-mvc3-application-to-mvc4-compiler-error-message-cs1513-expe
3.3. Ненужная валидация hidden полей
Стала работать валидация hidden полей. она мне не была нужна
Она была мне не нужна, поэтому отключил её.
$(document).ready(function () {
//-- отключаю валидацию скрытых полей в форме
$.validator.setDefaults({ ignore: 'input:hidden' });
});
тут помогло обсуждение
http://stackoverflow.com/questions/10136342/perform-validation-on-hidden-fields
Ссылки по теме
В этом обсуждении подсмотрел ссылку на пакет Auto Upgrade MVC 3 To MVC 4
http://stackoverflow.com/questions/8853330/converting-a-asp-net-mvc-3-project-to-mvc-4
Upgrading an ASP.NET MVC 3 Project to ASP.NET MVC 4 - этой статьей честно говоря не воспользовался
Комментариев нет:
Отправить комментарий