Because Visual Studio does not maintain project files for Web development, the conversion process must transfer relevant project and solution settings into a Visual Studio format. For example, the conversion process moves some project settings into the Web.config file, which in Microsoft Visual Studio 2005 is expanded to store more information than in earlier versions of Visual Studio .NET.
Many settings maintained in Visual Studio .NET are not applicable to Visual Studio 2005, so they are not converted. For example, project settings for Web access mode (file share or FrontPage) and for designer defaults do not apply in Visual Studio, so they are not converted. Project settings that are set to default values are also not converted; that is, Visual Studio does not make a new setting with the default value in it.
Projects with Multiple Configurations
If a project contains multiple configurations (Debug compilation, Release compilation, and so on), conversion follows this logic:
If the project contains only Debug and Release configurations, then the Debug configuration is converted to Visual Studio 2005.
If additional configurations exist, Visual Studio prompts you for the configuration settings that should be converted to Visual Studio 2005.
References
References to assemblies in the project's Bin folder do not need to be converted; Visual Studio Web sites automatically pick up references to code in the Bin folder. If the project contains a reference to an assembly in the global assembly cache, the reference is moved to the Web.config file in the following format.
Assembly references are not converted if the assembly is already referenced by default in ASP.NET (for example, System.Drawing).
In Visual Studio .NET, referenced assemblies (for example, assemblies that are referenced outside of the solution in which the Web project is located) could have the CopyLocal property set to true, which would automatically update the referenced assembly. In Visual Studio 2005, this behavior is replaced by creating a refresh file in the Bin folder. The refresh file contains the path to the external referenced assembly and has the extension .refresh appended to the assembly name.
XML Web references are converted by copying the .wsdl file to the App_WebReferences directory. The Web service proxy and reference-map files are not required in Visual Studio 2005.
Conversion of Common Settings
The following table lists Common Properties project settings and how they are treated by the Visual Studio conversion process.
Note
You can see the current values for these settings in Visual Studio. In Solution Explorer, right-click the project, click Properties, and then click Common Properties.
Setting
Conversion logic
General
Settings are not converted.
Web Settings
Settings are not converted.
Designer Defaults
Settings are not converted.
References Path
Settings are not converted.
Build (Visual Basic client projects)
Option Explicit
If set to false, this setting is moved to the Web.config file:
<compilation explicit="false">
Option Strict
If set to true, this setting is moved to the Web.config file:
<compilation strict="true" />
Option Compare
If set to Text, this setting is moved to the Web.config file:
<compiler language="vb"
compilerOptions="optioncompare:text" />
Imports (Visual Basic client projects)
Import settings that are not already imported by default in ASP.NET are moved to the Web.config file:
<pages>
<namespaces>
<add namespace="Namespace" />
</namespaces>
</pages>
Conversion affects only the import settings for ASP.NET Web pages. For classes in the App_Code directory, you must add import settings manually.
Conversion of Configuration Settings
Configuration settings for a project differ slightly depending on what programming language the project uses. The following tables list how configuration settings are treated by the Visual Studio conversion process, broken out by language.
Note
You can see the current values for these settings in Visual Studio. In Solution Explorer, right-click the project, click Properties, and then click Configuration Properties.
Configuration Settings — All Languages
The following table lists Configuration project settings that appear in all project types, and describes how they are treated by the Visual Studio conversion process.
Setting
Conversion logic
Debugging
Enable ASP Debugging
Setting is not converted.
Enable ASP.NET Debugging
Setting is not converted.
Enable Unmanaged Debugging
Setting is converted as-is.
Enable SQL Debugging
Setting is converted as-is.
Start Action settings
Settings are moved to a per-user, client-side cache.
Command Line Arguments
Setting is converted as-is.
Working Directory
Setting is converted as-is.
Always Use Internet Explorer
Setting is not converted.
Enable Remote Debugging
Setting is not converted.
Remote Debug Machine
Setting is not converted.
Configuration Settings — Visual Basic .NET
The following table lists Configuration project settings that appear in a Visual Basic .NET project, and describes how they are treated by the Visual Studio conversion process.
If set, this setting is moved to the Web.config file:
<compiler language="c#"
compilerOptions="doc:<filepath>" />
Conditional Compilation Constants
Setting is moved to the Web.config file:
<compiler
language="c#"
compilerOptions="d:<symbols>" />
Optimize Code
If set to true, this setting is moved to the Web.config file:
<compiler
language="c#"
compilerOptions="o" />
Check for Arithmetic Overflow/Underflow
If set to true, this setting is moved to the Web.config file:
<compiler
language="c#"
compilerOptions="checked+" />
Allow Unsafe Code Blocks
If set to true, this setting is moved to the Web.config file:
<compiler
language="c#"
compilerOptions="unsafe+" />
Warning Level
If not set to 4, this setting is moved to the Web.config file:
<compiler
language="c#"
compilerOptions="w:<level>" />
Treat Warnings As Errors
If set to true, this setting is moved to the Web.config file:
<compiler language="c#"
compilerOptions="warnaserror+" />
Suppress Specific Warnings
If set, this setting is moved to the Web.config file:
<compiler
language="c#"
compilerOptions="nowarn:<warning list>" />
Optimizations (Visual Basic client projects)
Remove integer overflow checks
If set to true, this setting is moved to the Web.config file:
<compiler
language="vb"
compilerOptions="removeintchecks+" />
Enabled optimizations
If set to true, this setting is moved to the Web.config file:
<compiler
language="vb"
compilerOptions="optimize+" />
Enable incremental build
Setting is not converted.
DLL base address
Setting is not converted.
Configuration Settings — C#
The following table lists Configuration project settings that appear in a C# project, and describes how they are treated by the Visual Studio conversion process.
Setting
Conversion logic
Build
Conditional Compilation Constants
Setting is moved to the Web.config file:
<compiler
language="c#"
compilerOptions="d:<symbols>" />
Optimize Code
If set to true, this setting is moved to the Web.config file:
<compiler
language="c#"
compilerOptions="o" />
Check for Arithmetic Overflow/Underflow
If set to true, this setting is moved to the Web.config file:
<compiler
language="c#"
compilerOptions="checked+" />
Allow Unsafe Code Blocks
If set to true, this setting is moved to the Web.config file:
<compiler
language="c#"
compilerOptions="unsafe+" />
Warning Level
If not set to 4, this setting is moved to the Web.config file:
<compiler
language="c#"
compilerOptions="w:<level>" />
Treat Warnings As Errors
If set to true, this setting is moved to the Web.config file:
<compiler language="c#"
compilerOptions="warnaserror+" />
Suppress Specific Warnings
If set, this setting is moved to the Web.config file:
<compiler
language="c#"
compilerOptions="nowarn:<warning list>" />
Output Path
Setting is not converted.
XML Documentation
If set, this setting is moved to the Web.config file:
<compiler language="c#"
compilerOptions="doc:<filepath>" />
Generate Debugging Information
Setting is moved to the Web.config file:
<compilation debug="true|false" />
Register for COM Interop
Setting is not converted.
Advanced
Incremental Build
If set to true, this setting is moved to the Web.config file:
<compiler
language="c#"
compilerOptions="incr+" />
Base Address
Setting is not converted.
File Alignment
If not set to 4096, this setting is moved to the Web.config file:
<compiler
language="c#"
compilerOptions="filealign:<n>" />
Do not Use Mscorlib
If set to true, this setting is moved to the Web.config file:
<compiler
language="c#"
compilerOptions="nostdlib+" />
Configuration Settings — J#
The following table lists Configuration project settings that appear in a Microsoft J# .NET project and describes how they are treated by the Visual Studio conversion process.
Setting
Conversion logic
Build
Conditional Compilation Constants
Setting is moved to the Web.config file:
<compiler
language="j#"
compilerOptions="d:<symbols>" />
Optimize Code
If set to true, this setting is moved to the Web.config file:
<compiler
language="j#"
compilerOptions="o" />
Warning Level
If not set to 4, this setting is moved to the Web.config file:
<compiler
language="j#"
compilerOptions="w:<level>" />
Treat Warnings As Errors
If set to true, this setting is moved to the Web.config file:
<compiler language="j#"
compilerOptions="warnaserror+" />
Suppress Specific Warnings
If set, this setting is moved to the Web.config file:
<compiler
language="j#"
compilerOptions="nowarn:<warning list>" />
Output Path
Setting is not converted.
Generate Debugging Information
Setting is moved to the Web.config file:
<compilation debug="true|false" />
Register for COM Interop
Setting is not converted.
Advanced
Base Address
Setting is not converted.
Additional Options
If set, this setting is moved to the Web.config file: