ASP.Net - переход с Visual Studio 2003 на Visual Studio 2010 - PullRequest
1 голос
/ 10 сентября 2011

мы находимся в процессе перевода нашей разработки ASP.Net с Visual Studio 2003 и .Net 1.1 на Visual Studio 2010 и .Net 3.5.До сих пор мы успешно перенесли наш внутренний код и после некоторой борьбы с внешним интерфейсом ASP.Net тоже.Хотя работа с внутренним кодом возобновилась с обычной производительностью, работа над внешним кодом ASP.Net значительно затруднена из-за следующих проблем:

  • Веб-дизайнер Visual Studio 2010 часто дает сбой(например, после использования функции «Отменить») - мы привыкли к проблемам стабильности веб-дизайнера Visual Studio 2003 при работе с большими веб-формами, но новый веб-дизайнер часто дает сбой даже при работе с обычными веб-формами.Есть ли что-нибудь, чтобы сделать вещь стабильной?ServicePack 1 не помог.

  • При добавлении новых элементов управления в веб-форму в веб-дизайнере объявление нового элемента управления никогда не будет автоматически распространяться на кодстраница в перенесенной веб-форме.Новые веб-формы, созданные с нуля, вроде бы работают нормально.Перенесенные веб-формы сохраняют старую файловую структуру (aspx, aspx.cs и aspx.resx), в то время как новые веб-формы получают новую файловую структуру (aspx, aspx.cs и aspx.designer.cs. Воссоздание всех существующих веб-формвручную, чтобы получить новую файловую структуру, было бы очень болезненной операцией. Есть ли способ сделать старое достойное рабочее распространение объявления элементов управления для кода, работающего с файлами, в Visual Studio 2010 тоже?

  • (в настоящее время наша самая большая проблема): при разработке веб-формы мы в основном помещаем текстовые поля, метки, кнопки и т. Д. В div с ms_positioning = "GridLayout". Мы определяем абсолютные координаты для каждого элемента управления в div. Это не кажетсядля правильной работы в Visual Studio 2010. Приложив немало усилий, мы можем каким-то образом продолжать использовать этот подход, но добавление новой кнопки или текстового поля в веб-форму сейчас требует огромных усилий. Не обращая особого внимания, это может даже привести к перезаписиcss-classes-file (веб-дизайнер иногда решает написатьКоординаты не в файле aspx, а в файле css).Недавно я прочитал, что использование абсолютных координат для позиционирования материала на веб-странице - очень плохой и устаревший подход.Я склонен верить этому, видя, как это ужасно в новой Visual Studio.Но как правильно быстро создавать веб-формы, похожие на winforms?(Под «быстро» я имею в виду простой способ перетаскивания мышью).

Заранее благодарен за любую помощь.

С наилучшими пожеланиями Эрих Хорак

Ответы [ 2 ]

1 голос
/ 10 сентября 2011

Я попытаюсь решить эту проблему с помощью проблемы:

Дизайнер

К сожалению, у нового дизайнера в Visual Studio 2010 возникли проблемы. С 2010 года редактор был полностью переработан с WPF, который должен был сделать его быстрее, но до сих пор казался хуже предыдущих редакторов. Есть несколько улучшений, но если бы у меня был выбор, я бы остановился на старом редакторе, по крайней мере, до тех пор, пока проблемы не будут решены с новым. Это не может быть утешением, но вы не единственное чувство этой боли.

Добавление элементов управления / новой файловой структуры страницы

Опять же, это еще одна ситуация, когда миграция окажется болезненной. Если бы мне предложили подход, я бы скопировал и вставил разметку во вновь созданные формы (созданные с VS 2010). Файл designer.cs должен регистрировать элементы управления. Вы можете столкнуться с проблемами с сопоставлениями обработчиков событий, но, надеюсь, это не помешает файлу designer.cs зарегистрировать элементы управления. Я знаю, что это болезненная перспектива, но вы должны помнить, что вы продвигаетесь на несколько версий.

Дизайнерский вид и абсолютное позиционирование

Во время миграции системы может потребоваться установить представление по умолчанию для просмотра исходного кода, чтобы можно было вставить HTML-код на страницу. Вы можете сделать это, перейдя на Tools > Options > HTML Designer > General. Честно говоря, на мой взгляд, дизайнер действительно облупился и его следует избегать. HTML-код, который он создает, действительно ужасен.

Использование абсолютных координат для позиционирования элементов на странице, безусловно, является устаревшим подходом, но если ваша цель на данный момент состоит в том, чтобы заставить вашу миграцию работать, то пока не беспокойтесь об этом. В конце концов, было бы неплохо реорганизовать ваш HTML и CSS, чтобы использовать более современные методы, но если текущая кодовая база совместима с браузером, оставьте это пока.

Поначалу может показаться, что это не так, но если вы можете отойти от дизайнера и использовать исходный вид, вы не пожалеете об этом. Сначала это займет немного больше времени, но контроль над разметкой в ​​конечном итоге сэкономит вам много времени. Если дизайнеру разрешено распространяться по всей системе, он будет все испортить. Используя исходный вид, вы получаете полный контроль над всем, что происходит, что станет огромным преимуществом. Используя новые функции, такие как главные страницы, вы можете перемещаться в представлении исходного кода так же быстро, как и в представлении конструктора версии 1.1. Я начал с просмотра конструктора в 1.1, но после переключения на просмотр исходных текстов я больше никогда не оглядывался назад. Вы действительно повышаете производительность другими способами.

Хотел бы я дать вам ответ типа "сделай это, и все встанет на свои места", но я думаю, что тебя ожидает болезненный процесс обращения. Хорошая новость заключается в том, что, как только это будет сделано, вы сможете начать использовать все новые функции, появившиеся за последние 8 лет. ;)

1 голос
/ 10 сентября 2011

Я не вижу быстрого, перетаскиваемого способа сделать это.Такие вещи, как GridLayout, устарели;гораздо проще в конечном итоге портировать формы вручную, очищая разметку по мере использования и используя представление кода форм вместо представления дизайна.Также есть возможность писать чистый, отдельный CSS, а не встроенные стили.

Post 1.1, вам не нужно объявлять элементы формы в выделенном фрагменте кода - новые частичные классы устраняют необходимость в этом.Так что это еще одна вещь, которая отличается.Я сейчас работаю над подобным проектом;Я воспользовался новыми мастер-классами, которые в любом случае означали немножко измениться.

Мой честный совет - смириться с этим и двигаться дальше:)

Я задал похожий вопрос здесь:

Опции многопроектного решения Visual Studio

...