Преобразование веб-проекта из Visual Studio .NET

Visual Studio 2010

Обновлен: Ноябрь 2007

Microsoft Visual Studio 2005 обрабатывает веб-проекты иначе, чемVisual Studio .NET 2002 и Visual Studio .NET 2003 (которые далее в этом разделе называются Visual Studio .NET). В результате, если используется для работы с проектом, созданном в Visual Studio .NET, Visual Studio 2005, проект преобразуется в веб-приложение. Этот процесс выполняется автоматически при открытии проекта Visual Studio .NET в Visual Studio 2005. Мастер преобразования преобразует веб-приложение и минимизирует объем ручного редактирования, необходимого для завершения преобразования. В этом разделе описывается процесс преобразования и изменения, вносимые в файлы Visual Studio .NET. Дополнительные сведения о проектах веб-приложений см. в разделе Общие сведения о проектах веб-приложений.

Цель процесса преобразования — возможность открытия проекта Visual Studio .NET в Visual Studio 2005, его автоматическое преобразование и выполнение без изменения функциональности. Процесс преобразования — односторонний, после преобразования проекта в Visual Studio 2005 не будет возможности работать с Visual Studio .NET. Хотя Visual Studio 2005 вносит изменения в файлы проекта, можно сделать резервные копии оригинальных файлов. Но возможность открывать файлы Visual Studio 2005 в Visual Studio .NET как отдельных файлов сохранится (без некоторых возможностей, например, IntelliSense), но в общем проект изменится. При необходимости можно восстановить проект Visual Studio из резервных файлов.

95x0y0wt.alert_security(ru-ru,VS.100).gifПримечание о безопасности.

Перед преобразованием существующего проекта в Visual Studio 2005 следует изучить все существующие файлы, особенно если проект изменяется одним человеком. Следует искать незнакомые файлы. Это помогает обеспечить защиту от импорта вредоносного кода в Visual Studio. В общем, рекомендуется запускать Visual Studio 2005 в качестве обычного пользователя, а не администратора, если не требуется выполнять задачи администрирования.

В этом разделе приводятся сведения о следующих аспектах преобразовании веб-проектов в Visual Studio 2005:

В следующем списке описывается основной процесс преобразования веб-проекта Visual Studio .NET в проект Visual Studio 2005.

  1. В Visual Studio 2005 откройте веб-узел Visual Studio .NET. Можно открыть любой из следующих файлов и каталогов:

    • Файл решения (SLN-файл)

    • Файл проекта (с расширением VBPROJ, CSPROJ или VJP)

    • Корневой каталог веб-узла

  2. Если найден файл проекта, то Visual Studio 2005 запускает мастер преобразования веб-проекта.

    95x0y0wt.alert_note(ru-ru,VS.100).gifПримечание.

    В Visual Studio 2005 веб-проектам не требуется файл проекта. Все файлы, расположенные в папке веб-проекта, считаются частью веб-проекта.

    Дополнительные сведения о мастере преобразования см. в разделе Практическое руководство. Преобразование проекта Visual Studio .NET в проект Visual Studio 2005.

  3. Visual Studio 2005 преобразует веб-приложение таким образом, чтобы приложение вместо ASP.NET версии 1.x использовало ASP.NET версии 2.0. Например, атрибут CodeBehind в веб-страницах ASP.NET и пользовательских элементах управления заменяется на атрибут CodeFile. Если файл изменяется, первоначальные разрешения файла не сохраняются — новый файл используется разрешения чтения и записи, данные пользователям. Дополнительные сведения об изменениях файлов см. в разделе Преобразование веб-решений и файлов проекта.

  4. Отдельный файлы классов перемещаются в каталог App_Code.

  5. Другие типы файлов не затрагиваются. К ним относятся файлы графики, HTML-файлы и т.д. Кроме того, процесс переноса не затрагивает файлы вне области приложения. В результате пользователи-злоумышленники не могут обращаться к файлам вне приложения, используя относительные пути в файле проекта.

  6. Создается отчет с именем «ConversionReport.txt» и сохраняется в корневом каталоге преобразуемого веб-проекта. В файле отчета перечислены все изменения, внесенные в веб-проект. Также в нем могут содержаться информационные сведения, предупреждения и ошибки, обнаруженные во время преобразования. Если в мастере преобразования выбран пункт отображения журнала преобразования после завершения работы мастера, в Visual Studio 2005 отображается отчет. Дополнительные сведения о формате отчета см. в разделе Форматирование отчета о преобразовании миграции.

95x0y0wt.alert_note(ru-ru,VS.100).gifПримечание.

Если в проекте используется система управления версиями, файлы веб-проекта после преобразования в Visual Studio 2005 не будут подпадать под действие этой системы.

При открытии файла решения в Visual Studio 2005, Visual Studio просматривает содержимое SLN-файла, чтобы определить типы проектов, содержащихся в решении. Visual Web Developer преобразует только веб-приложения (веб-страницы и веб-службы). При открытии файла решения, содержащего другие типы проектов, например, проекты Windows Forms или консольные приложения, открывать и преобразовывать можно только веб-проекты.

При открытии файла проекта Visual Studio 2005 преобразует файлы, на которые ссылается этот проект. Файлы, расположенные в том же каталоге, что и файлы проекта, но не являющиеся его частью, не преобразуются. Это может привести к ошибкам построения. Например, если существует файл «Page1.aspx» и файл кода программной части «Page1.aspx.cs», расположенный в той же папке, но не включенный в файл проекта, то мастер преобразования не будет преобразовывать ни один из этих файлов. При компиляции возникают ошибки построения, так как «Page1.aspx» и «Page1.aspx.cs» считаются частью преобразованного веб-приложения.

Если проект содержит каталоги с именами, зарезервированными в Visual Studio 2005, такими как App_Data или App_GlobalResources, Visual Studio 2005 добавляет «_old» к именам существующих каталогов (например, App_Data_old). Для разрешения любых поврежденных ссылок, появляющихся в результате, необходимо вручную изменить код таким образом, чтобы в нем содержались ссылки на новый каталог, или следует переместить код в зарезервированные каталоги, такие как App_Data или App_GlobalResources. Дополнительные сведения см. в разделе Общие папки кода на веб-узлах ASP.NET.

Так как Visual Studio 2005 не сохраняет параметры в файлах проекта, проекты Visual Studio .NET преобразуются в файл Web.config или они не преобразуются, если эти параметры не применяются в Visual Studio 2005 тем же образом, что и в Visual Studio .NET.

Дополнительные сведения см. в разделе Преобразование параметров веб-проекта.

Если исходный проект содержит пользовательскую конфигурацию, в процессе преобразования предлагается выбрать желаемую конфигурацию. Выбор определяет, какие параметры проекта используются во время преобразования для настройки веб-узла для его нового формата.

Если исходный проект содержит только конфигурации построения по умолчанию (Выпуск и Отладка), процесс преобразования использует параметры отладочной конфигурации.

В Visual Studio 2005 изменилась модель добавления доступа к данным в веб-страницы. Хотя Visual Studio 2005 использует компоненты ADO.NET для доступа к данным, страницы Visual Studio 2005 управляют доступом к данным с помощью элементов управления источником данных, инкапсулирующие объекты подключения к данным, объекты команд управления данными и наборы данных или модули чтения данных. Дополнительные сведения см. в разделах Общие сведения об элементах управления источниками данных и Общие сведения о выражениях для привязки данных.

Модель Visual Studio .NET работы с явными экземплярами соединения данных, командами управления данными и наборами данных все еще поддерживается в Visual Studio 2005. Если Visual Studio 2005 преобразует страницы или файлы, использующие доступ к данным, существующие объекты данных преобразуются без изменений и работают в Visual Studio 2005 так же, как в Visual Studio .NET. Однако нельзя работать с этими компонентами данных в конструкторе веб-страниц Visual Studio 2005 (режим конструктора), так конструктор не поддерживает эти объекты. Но в режиме представления исходного кода работа возможна.

Наборы данных

Во время преобразования Visual Studio 2005 преобразует схему (XSD-файл) типизированного набора данных и сохраняет его в каталоге App_Code. VB-файл или CS-файл, представляющий класс набора данных (как при создании в Visual Studio), не преобразуется, так как веб-узел может автоматически ссылаться на XSD-файл.

Отдельные модули кода (VB-файлы или CS-файлы) перемещаются без изменений в каталог App_Code. (Это не относится к VB-файлам и CS-файлам, связанным с веб-страницами или другими файлами ASP.NET). Любые объявления членов, отмеченных, как Friend или Internal, изменяются на Public.

В VB-файлы в процессе преобразования добавляется оператор Namespace, указывающее на корневой каталог веб-проекта. Кроме этого в процессе преобразования добавляются все классы, которые ASP.NET еще импортировало автоматически в атрибут compilerOptionsэлемента компилятора.

Веб-службы преобразуются практически в тот же формат, что и в Visual Studio .NET. Файл класса веб-службы (ASMX-файл или ASMX.CS-файл) перемещается в каталог App_Code. Все члены, отмеченные, как Friend или Internal, изменяются на Public. Атрибут CodeBehind директивы @ Page в ASMX-файле указывает на новое расположение кода.

Для веб-служб, созданных в Visual Basic, оператор Namespace добавляется в файл класса, определяемый корневым пространством имен в веб-проекте. В процессе преобразования также добавляется оператор Imports в файл Visual Basic для определения всех импортируемых файлов веб-службы, которые еще не импортированы по умолчанию с помощью ASP.NET.

Перечисления исходного кода не преобразуются. После преобразования файлы веб-узла больше подпадают под действие системы управления версиями.

Показ: