Поскольку Visual Studio не поддерживает файлы проекта для веб-разработки, процесс преобразования должен перевести соответствующие параметры проекта и решения в формат Visual Studio. Например, в процессе преобразования некоторые параметры проекта перемещаются в файл Web.config, который расширен в Microsoft Visual Studio 2005 с целью хранения большего количества информации по сравнению с более ранними версиями Visual Studio .NET.
Многие параметры, которые поддерживались в Visual Studio .NET, неприменимы в Visual Studio 2005, поэтому их преобразование не выполняется. К примеру, параметры проекта, относящиеся к способам доступа к веб-приложению (общая папка или FrontPage), и параметры конструктора по умолчанию не применяются в Visual Studio, и, соответственно, они не преобразуются. Преобразование тех параметров проекта, для которых заданы значения по умолчанию, также не выполняется; это значит, что Visual Studio не создает новый параметр со значением по умолчанию.
Проекты с несколькими конфигурациями
Если проект содержит несколько конфигураций (отладочную компиляцию, компиляцию выпуска и т. д.), то при преобразовании соблюдается следующая логика:
Если проект содержит только две конфигурации (отладочную конфигурацию и конфигурацию выпуска), то в Visual Studio 2005 выполняется преобразование отладочной конфигурации.
Если существуют дополнительные конфигурации, Visual Studio предложит выбрать параметры конфигурации, которые необходимо преобразовать в формат Visual Studio 2005.
Ссылки
Ссылки на сборки в папке Bin проекта не нуждаются в преобразовании. Веб-узлы Visual Studio автоматически выберут ссылки на код в папке Bin. Если проект содержит ссылку на сборку, находящуюся в глобальном кэше сборок, то эта ссылка перемещается в файл Web.config в следующем формате.
Ссылки на сборки не преобразуются, если на сборку уже имеется ссылка по умолчанию в ASP.NET (например, System.Drawing).
В Visual Studio .NET у сборок, на которые имеются ссылки (например, для сборок, на которые указывают ссылки за пределами того решения, где находится веб-проект), свойство CopyLocal могло иметь значение true, что приводило к автоматическому обновлению сборки, на которую указывает ссылка. В Visual Studio 2005 этот характер поведения системы заменен на создание файла обновления в папке Bin. Файл обновления содержит путь к внешней сборке, на которую имеется ссылка, и имеет расширение REFRESH, добавленное к имени сборки.
Веб-ссылки XML преобразуются путем копирования файла WSDL в каталог App_WebReferences. Прокси веб-служб и файлы сопоставления ссылок в Visual Studio 2005 не требуются.
Преобразование общих параметров
В следующей таблице перечислены параметры проекта, которые относятся к Общим свойствам, и указан порядок их обработки в процессе преобразования, используемом Visual Studio.
Примечание.
В Visual Studio можно просмотреть текущие значения этих параметров. В обозревателе решений щелкните правой кнопкой мыши проект, выберите пункт Свойства и щелкните Общие свойства.
Параметр
Логика преобразования
Общие
Преобразование параметров не выполняется.
Веб-параметры
Преобразование параметров не выполняется.
Параметры конструктора по умолчанию
Преобразование параметров не выполняется.
Путь ссылок
Преобразование параметров не выполняется.
Построение (клиентские проекты Visual Basic)
Option Explicit
Если задано значение false, этот параметр перемещается в файл Web.config:
<compilation explicit="false">
Option Strict
Если задано значение true, этот параметр перемещается в файл Web.config:
<compilation strict="true" />
Option Compare
Если задано значение Text, этот параметр перемещается в файл Web.config:
<compiler language="vb"
compilerOptions="optioncompare:text" />
Импортируемые пространства имен (клиентские проекты Visual Basic)
Параметры импорта, которые еще не импортированы по умолчанию в ASP.NET, перемещаются в файл Web.config:
<pages>
<namespaces>
<add namespace="Namespace" />
</namespaces>
</pages>
Преобразование влияет только на параметры импорта для веб-страниц ASP.NET. Для классов в каталоге App_Code необходимо добавить параметры импорта вручную.
Преобразование параметров конфигурации
Параметры конфигурации проекта слегка различаются в зависимости от используемого в этом проекте языка программирования. В следующей таблице перечислен порядок обработки параметров конфигурации процессом преобразования, используемым Visual Studio, разделенный по языкам программирования.
Примечание.
В Visual Studio можно просмотреть текущие значения этих параметров. В обозревателе решений щелкните правой кнопкой мыши проект, выберите пункт Свойства и щелкните Свойства конфигурации.
Параметры конфигурации — все языки
В следующей таблице перечислены параметры проекта, которые относятся к Конфигурации и присутствуют в проектах всех типов, а также описан порядок их обработки процессом преобразования, используемым Visual Studio.
Параметр
Логика преобразования
Отладка
Включить отладку ASP
Преобразование параметра не выполняется.
Включить отладку ASP.NET
Преобразование параметра не выполняется.
Включить отладку неуправляемого кода
Преобразование параметра выполняется «как есть».
Активировать отладку SQL
Преобразование параметра выполняется «как есть».
Параметры Действие при запуске
Параметры перемещаются в кэш со стороны клиента, поддерживающий разделение по каждому пользователю.
Аргументы командной строки
Преобразование параметра выполняется «как есть».
Рабочий каталог
Преобразование параметра выполняется «как есть».
Всегда использовать Internet Explorer
Преобразование параметра не выполняется.
Включить удаленную отладку
Преобразование параметра не выполняется.
Компьютер для удаленной отладки
Преобразование параметра не выполняется.
Параметры конфигурации — Visual Basic .NET
В следующей таблице перечислены параметры проекта, которые относятся к Конфигурации и присутствуют в проектах Visual Basic .NET, а также описан порядок их обработки процессом преобразования, используемым Visual Studio.
Параметр
Логика преобразования
Построение
Путь вывода
Преобразование параметра не выполняется.
Создать отладочную информацию
Параметр перемещается в файл Web.config:
<compilation debug="true|false" />
Регистрация для COM-взаимодействия
Преобразование параметра не выполняется.
Включить предупреждения при построении (клиентские проекты Visual Basic)
Преобразование параметра не выполняется. В Visual Studio .NET предупреждения при построении всегда включены.
Обрабатывать предупреждения компилятора как ошибки (клиентские проекты Visual Basic)
Если задано значение true, этот параметр перемещается в файл Web.config:
<compiler
language="vb"
compilerOptions="warnaserror+" />
Определить константу DEBUG (клиентские проекты Visual Basic)
Параметр перемещается в файл Web.config:
<compiler
language="vb"
compilerOptions="define:Debug" />
Определить константу TRACE (клиентские проекты Visual Basic)
Если значение задано, этот параметр перемещается в файл Web.config:
<compiler language="c#"
compilerOptions="doc:<filepath>" />
Константы условной компиляции
Параметр перемещается в файл Web.config:
<compiler
language="c#"
compilerOptions="d:<symbols>" />
Оптимизировать код
Если задано значение true, этот параметр перемещается в файл Web.config:
<compiler
language="c#"
compilerOptions="o" />
Проверять арифметические переполнения и потерю точности
Если задано значение true, этот параметр перемещается в файл Web.config:
<compiler
language="c#"
compilerOptions="checked+" />
Разрешить небезопасные блоки кода
Если задано значение true, этот параметр перемещается в файл Web.config:
<compiler
language="c#"
compilerOptions="unsafe+" />
Порог предупреждений
Если не задано значение 4, этот параметр перемещается в файл Web.config:
<compiler
language="c#"
compilerOptions="w:<level>" />
Обрабатывать предупреждения как ошибки
Если задано значение true, этот параметр перемещается в файл Web.config:
<compiler language="c#"
compilerOptions="warnaserror+" />
Не выводить указанные предупреждения
Если значение задано, этот параметр перемещается в файл Web.config:
<compiler
language="c#"
compilerOptions="nowarn:<warning list>" />
Оптимизация (клиентские проекты Visual Basic)
Удалить проверки переполнения для целочисленных значений
Если задано значение true, этот параметр перемещается в файл Web.config:
<compiler
language="vb"
compilerOptions="removeintchecks+" />
Включить оптимизацию
Если задано значение true, этот параметр перемещается в файл Web.config:
<compiler
language="vb"
compilerOptions="optimize+" />
Включить инкрементное построение
Преобразование параметра не выполняется.
Базовый адрес DLL
Преобразование параметра не выполняется.
Параметры конфигурации — C#
В следующей таблице перечислены параметры проекта, которые относятся к Конфигурации и присутствуют в проектах C#, а также описан порядок их обработки процессом преобразования, используемым Visual Studio.
Параметр
Логика преобразования
Построение
Константы условной компиляции
Параметр перемещается в файл Web.config:
<compiler
language="c#"
compilerOptions="d:<symbols>" />
Оптимизировать код
Если задано значение true, этот параметр перемещается в файл Web.config:
<compiler
language="c#"
compilerOptions="o" />
Проверять арифметические переполнения и потерю точности
Если задано значение true, этот параметр перемещается в файл Web.config:
<compiler
language="c#"
compilerOptions="checked+" />
Разрешить небезопасные блоки кода
Если задано значение true, этот параметр перемещается в файл Web.config:
<compiler
language="c#"
compilerOptions="unsafe+" />
Порог предупреждений
Если не задано значение 4, этот параметр перемещается в файл Web.config:
<compiler
language="c#"
compilerOptions="w:<level>" />
Обрабатывать предупреждения как ошибки
Если задано значение true, этот параметр перемещается в файл Web.config:
<compiler language="c#"
compilerOptions="warnaserror+" />
Не выводить указанные предупреждения
Если значение задано, этот параметр перемещается в файл Web.config:
<compiler
language="c#"
compilerOptions="nowarn:<warning list>" />
Путь вывода
Преобразование параметра не выполняется.
XML-документация
Если значение задано, этот параметр перемещается в файл Web.config:
<compiler language="c#"
compilerOptions="doc:<filepath>" />
Создать отладочную информацию
Параметр перемещается в файл Web.config:
<compilation debug="true|false" />
Регистрация для COM-взаимодействия
Преобразование параметра не выполняется.
Дополнительно
Инкрементное построение
Если задано значение true, этот параметр перемещается в файл Web.config:
<compiler
language="c#"
compilerOptions="incr+" />
Базовый адрес
Преобразование параметра не выполняется.
Выравнивание файла
Если не задано значение 4096, этот параметр перемещается в файл Web.config:
<compiler
language="c#"
compilerOptions="filealign:<n>" />
Не использовать Mscorlib
Если задано значение true, этот параметр перемещается в файл Web.config:
<compiler
language="c#"
compilerOptions="nostdlib+" />
Параметры конфигурации — J#
В следующей таблице перечислены параметры проекта, которые относятся к Конфигурации и присутствуют в проектах Microsoft J# .NET, а также описан порядок их обработки процессом преобразования, используемым Visual Studio.
Параметр
Логика преобразования
Построение
Константы условной компиляции
Параметр перемещается в файл Web.config:
<compiler
language="j#"
compilerOptions="d:<symbols>" />
Оптимизировать код
Если задано значение true, этот параметр перемещается в файл Web.config:
<compiler
language="j#"
compilerOptions="o" />
Порог предупреждений
Если не задано значение 4, этот параметр перемещается в файл Web.config:
<compiler
language="j#"
compilerOptions="w:<level>" />
Обрабатывать предупреждения как ошибки
Если задано значение true, этот параметр перемещается в файл Web.config:
<compiler language="j#"
compilerOptions="warnaserror+" />
Не выводить указанные предупреждения
Если значение задано, этот параметр перемещается в файл Web.config:
<compiler
language="j#"
compilerOptions="nowarn:<warning list>" />
Путь вывода
Преобразование параметра не выполняется.
Создать отладочную информацию
Параметр перемещается в файл Web.config:
<compilation debug="true|false" />
Регистрация для COM-взаимодействия
Преобразование параметра не выполняется.
Дополнительно
Базовый адрес
Преобразование параметра не выполняется.
Дополнительные параметры
Если значение задано, этот параметр перемещается в файл Web.config: