Web 项目设置转换

更新:2007 年 11 月

由于 Visual Studio 不维护 Web 开发的项目文件,因此转换过程必须将相关的项目和解决方案设置转换为 Visual Studio 格式。例如,转换过程将一些项目设置移到 Web.config 文件中,该文件在 Microsoft Visual Studio 2005 中得到了扩展,与 Visual Studio .NET 早期版本中的文件相比可存储更多信息。

Visual Studio .NET 中维护的许多设置都不适用于 Visual Studio 2005,因此不会对它们进行转换。例如,Web 访问模式(文件共享或 FrontPage)和设计器默认值的项目设置在 Visual Studio 中不适用,因此不会转换。不会对设置为默认值的项目设置进行转换;也就是说,Visual Studio 不会对新设置应用默认值。

具有多项配置的项目

如果项目包含多项配置(调试编译、发行版本编译等),转换将遵循下面的逻辑:

  • 如果项目仅包含调试配置和发布配置,则调试配置会转换为 Visual Studio 2005。

  • 如果存在其他配置,Visual Studio 会提示您配置设置应转换为 Visual Studio 2005。

引用

不需要转换对项目的 Bin 文件夹中的程序集的引用;Visual Studio 网站会自动获取对 Bin 文件夹中的代码的引用。如果项目包含对全局程序集缓存中的程序集的引用,则该引用会以下面的格式移到 Web.config 文件中。

<compilation>
  <assemblies>
    <add assembly="System.Messaging" />
  </assemblies>
</compilation>

在 ASP.NET 中,如果默认情况下已引用程序集(例如 System.Drawing),则不会转换程序集引用。

在 Visual Studio .NET 中,可以将引用的程序集(例如,在 Web 项目所在解决方案外部引用的程序集)的 CopyLocal 属性设置为 true,此时会自动更新引用的程序集。在 Visual Studio 2005 中,此行为已被替换为在 Bin 文件夹中创建刷新文件。刷新文件包含外部引用的程序集的路径,并在程序集名称后面追加了 .refresh 扩展名。

XML Web 引用是通过将 .wsdl 文件复制到 App_WebReferences 目录中进行转换的。Visual Studio 2005 中不需要 Web 服务代理和引用映射文件。

通用设置转换

下表列出了**“通用属性”**项目设置以及 Visual Studio 转换过程处理这些设置的方式。

2fdbs127.alert_note(zh-cn,VS.90).gif说明:

您可以在 Visual Studio 中查看这些设置的当前值。在“解决方案资源管理器”中右击项目,单击“属性”,然后单击“通用属性”

设置

转换逻辑

常规

不转换设置。

Web 设置

不转换设置。

设计器默认值

不转换设置。

引用路径

不转换设置。

“生成”(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 转换过程处理配置设置的方式,按语言进行分类。

2fdbs127.alert_note(zh-cn,VS.90).gif说明:

您可以在 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 Interop

    不转换设置。

  • “启用生成警告”(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="vb"

    compilerOptions="define:Trace" />

  • “自定义常数”(Visual Basic 客户端项目)

    设置被移到 Web.config 文件中:

    <compiler

    language="vb"

    compilerOptions="define:<list>" />

  • XML 文档

    如果设置,则此设置移到 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 Interop

    不转换设置。

高级

  • 增量编译

    如果设置为 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 Interop

    不转换设置。

高级

  • 基址

    不转换设置。

  • 附加选项

    如果设置,则此设置移到 Web.config 文件中:

    <compiler

    language="j#"

    compilerOptions="<list of options>" />

请参见

概念

自 Visual Studio .NET 的 Web 项目转换

Web 解决方案和项目文件转换