Преобразование веб-проекта из Visual Studio .NET
Обновлен: Ноябрь 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 из резервных файлов.
Примечание о безопасности. |
---|
Перед преобразованием существующего проекта в Visual Studio 2005 следует изучить все существующие файлы, особенно если проект изменяется одним человеком. Следует искать незнакомые файлы. Это помогает обеспечить защиту от импорта вредоносного кода в Visual Studio. В общем, рекомендуется запускать Visual Studio 2005 в качестве обычного пользователя, а не администратора, если не требуется выполнять задачи администрирования. |
В этом разделе приводятся сведения о следующих аспектах преобразовании веб-проектов в Visual Studio 2005:
Процесс преобразования Visual Studio 2005
Решения и проекты
Преобразование параметров проекта
Преобразование отдельных конфигураций
Компоненты данных
Модули кода
Веб-службы
Преобразование и система управления версиями
Процесс преобразования Visual Studio 2005
В следующем списке описывается основной процесс преобразования веб-проекта Visual Studio .NET в проект Visual Studio 2005.
В Visual Studio 2005 откройте веб-узел Visual Studio .NET. Можно открыть любой из следующих файлов и каталогов:
Файл решения (SLN-файл)
Файл проекта (с расширением VBPROJ, CSPROJ или VJP)
Корневой каталог веб-узла
Если найден файл проекта, то Visual Studio 2005 запускает мастер преобразования веб-проекта.
Примечание. В Visual Studio 2005 веб-проектам не требуется файл проекта. Все файлы, расположенные в папке веб-проекта, считаются частью веб-проекта.
Дополнительные сведения о мастере преобразования см. в разделе Практическое руководство. Преобразование проекта Visual Studio .NET в проект Visual Studio 2005.
Visual Studio 2005 преобразует веб-приложение таким образом, чтобы приложение вместо ASP.NET версии 1.x использовало ASP.NET версии 2.0. Например, атрибут CodeBehind в веб-страницах ASP.NET и пользовательских элементах управления заменяется на атрибут CodeFile. Если файл изменяется, первоначальные разрешения файла не сохраняются — новый файл используется разрешения чтения и записи, данные пользователям. Дополнительные сведения об изменениях файлов см. в разделе Преобразование веб-решений и файлов проекта.
Отдельный файлы классов перемещаются в каталог App_Code.
Другие типы файлов не затрагиваются. К ним относятся файлы графики, HTML-файлы и т.д. Кроме того, процесс переноса не затрагивает файлы вне области приложения. В результате пользователи-злоумышленники не могут обращаться к файлам вне приложения, используя относительные пути в файле проекта.
Создается отчет с именем «ConversionReport.txt» и сохраняется в корневом каталоге преобразуемого веб-проекта. В файле отчета перечислены все изменения, внесенные в веб-проект. Также в нем могут содержаться информационные сведения, предупреждения и ошибки, обнаруженные во время преобразования. Если в мастере преобразования выбран пункт отображения журнала преобразования после завершения работы мастера, в Visual Studio 2005 отображается отчет. Дополнительные сведения о формате отчета см. в разделе Форматирование отчета о преобразовании миграции.
Примечание. |
---|
Если в проекте используется система управления версиями, файлы веб-проекта после преобразования в 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.
Преобразование и система управления версиями
Перечисления исходного кода не преобразуются. После преобразования файлы веб-узла больше подпадают под действие системы управления версиями.
См. также
Задачи
Практическое руководство. Преобразование проекта Visual Studio .NET в проект Visual Studio 2005
Пошаговое руководство. Преобразование веб-проекта Visual Studio .NET 2003 в проект веб-приложения
Основные понятия
Преобразование веб-решений и файлов проекта
Преобразование параметров веб-проекта
Форматирование отчета о преобразовании миграции