代码之家  ›  专栏  ›  技术社区  ›  ChrisLively

web.config转换选项变灰

  •  61
  • ChrisLively  · 技术社区  · 14 年前

    在VS2010中,当我右键单击web.config文件时,“添加配置转换”选项变灰。

    你知道我怎样才能把它拿回来吗?

    10 回复  |  直到 8 年前
        1
  •  83
  •   ChrisLively    14 年前

    它是灰色的,因为已经有所有列出的配置的转换。

    我看不到转换文件,因为vb.net以其无穷的智慧决定不在本地显示相关的配置文件。显然,除了选择“显示所有文件”以查看它们之外,别无选择。

        2
  •  13
  •   Mark Larter    11 年前

    您还可以完全避免“配置管理器”对话框,直接编辑项目文件,根据需要添加任意多的其他配置文件。

    这在使用更高级的配置转换工具(如codeassassassin.configtransform或slowcheetah)时尤其有用。

    <ItemGroup>
        <Content Include="web.config">
            <SubType>Designer</SubType>
        </Content>
        <Content Include="web.debug.local.config">
            <DependentUpon>web.config</DependentUpon>
        </Content>
        <Content Include="web.debug.cloudstaging.config">
            <DependentUpon>web.config</DependentUpon>
        </Content>
        <Content Include="web.release.cloudprod.config">
            <DependentUpon>web.config</DependentUpon>
        </Content>
    </ItemGroup>
    
        3
  •  8
  •   anoop    12 年前

    如果您真的希望看到“添加配置转换”已启用,请使用配置管理器添加新配置。或删除任何配置文件web.release.config或web.debug.config。 对于每个环境只有一个配置文件,这是Visual Studio的限制。

        4
  •  4
  •   Alex    9 年前

    对我有效的方法是右键单击发布概要文件并选择“添加配置转换”,然后复制我们为QA、UAT、生产等转换所用的现有代码。

        5
  •  2
  •   Ecyrb    13 年前

    重新启动Visual Studio对我很有用。我不会说这对每个人都有用,但肯定值得一试。

    我有5个配置,但只有3个转换文件。我没有处于调试模式,但选项仍然灰显。

        6
  •  2
  •   Tom Ax    12 年前

    在从配置管理器添加了额外的配置之后,我遇到了这个问题。

    在Visual Studio启用“添加配置转换”之前,我必须删除它们并重新添加它们。

    我猜想Web项目中的这些配置在某个时刻被删除/损坏,需要重新设置。

        7
  •  2
  •   Jonathan Hensley    10 年前

    除了默认的调试和发布配置外,我们还有一个包含140多个项目和13种不同配置的解决方案。我在那个解决方案中的一个项目遇到了同样的问题。添加配置转换项已灰显,但我只有debug和release web.config转换。我认为这是因为项目可能是在所有自定义配置创建之后添加到解决方案中的。

    我进入配置管理器,观察到项目没有所有其他可用的配置。我必须通过指定和名称手动添加每个缺少的配置。完成之后,就可以使用添加配置转换了。

        8
  •  1
  •   Evan Haas    11 年前

    如果是通过配置管理器添加的自定义配置,请确保在创建配置时选中“创建新项目配置”复选框(默认情况下未选中)。

        9
  •  1
  •   chrjs    9 年前

    我也有同样的问题。我的解决方案是安装 SlowCheetah 添加另一个配置转换。很奇怪,但效果很好。

        10
  •  1
  •   PhillipPDX    8 年前

    我有一个场景,其中我有一个名为“dev”的现有配置。web.config下没有web.dev.congig文件,要添加的菜单选项被禁用。

    我删除了配置并重新添加了它。完成此操作后,它添加了一个新的web.dev.config文件,并启用了“添加配置转换”菜单选项。我怀疑CSPROJ文件中有一些混乱。

    在VS2015中,这种混乱似乎已经被消除了。