【问题标题】:Web.config transformation option is greyed outWeb.config 转换选项灰显
【发布时间】:2011-04-04 10:10:56
【问题描述】:

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

知道如何找回它吗?

【问题讨论】:

    标签: vb.net visual-studio-2010 visual-studio web-config


    【解决方案1】:

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

    我看不到转换文件,因为 vb.net 以其无限的智慧决定不原生显示相关的配置文件。显然别无选择,只能选择“显示所有文件”才能看到它们。

    【讨论】:

    • 我爱vb.net的无限智慧
    • 谢谢!我在这个问题上挣扎了很多。顺便提一句。以下是您“显示所有文件”的方式:blog.brianhartsock.com/2009/09/14/… 如此明显,但多年来我仍然没有注意到...
    • @TomStickel:实际上,c# 在 web.config 文件名旁边添加了小 + 号。 VB 没有。
    • vb.net 的无限智慧?几乎没有......我通常用不适合stackoverflow的词替换“智慧”
    • 迄今为止没有一个答案对我有用,但这个答案确实有效:stackoverflow.com/a/12846843/3248
    【解决方案2】:

    也可以完全避免配置管理器对话框,直接编辑项目文件,根据需要添加尽可能多的额外配置文件。

    这在使用更高级的配置转换工具(如 CodeAssassin.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】:

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

    【讨论】:

    • 使用配置管理器创建新配置后,我仍然需要重新启动 VS 才能添加新的转换。
    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

      重新启动 Visual Studio 对我有用。我不会说它对每个人都有效,但绝对值得一试。

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

      【讨论】:

      • 重新启动 Visual Studio 是新的重新启动
      【解决方案6】:

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

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

      我猜网络项目中的这些配置在某些时候被删除/损坏,需要重置。

      【讨论】:

        【解决方案7】:

        我们的解决方案包含 140 多个项目和超过 13 种不同的配置,除了默认的调试和发布配置。我在该解决方案中的一个项目中遇到了同样的问题。 Add Config Transforms 项是灰色的,但我只有 Debug 和 Release web.config 转换。我相信这是因为在创建所有自定义配置之后,该项目可能已添加到解决方案中。

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

        【讨论】:

        • 这是正确答案。一个解决方案可能有许多可用的配置,但稍后添加的项目可能有也可能没有。通过进入解决方案配置管理器,可以为每个项目添加新的配置。
        【解决方案8】:

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

        【讨论】:

          【解决方案9】:

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

          【讨论】:

            【解决方案10】:

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

            我删除了配置并重新添加了它。执行此操作后,它添加了一个新的 Web.Dev.config 文件并启用了菜单选项以“添加配置转换”。我怀疑 csproj 文件中存在一些混乱。

            似乎在 VS2015 中已经消除了一些这种困惑。

            【讨论】:

              猜你喜欢
              • 2011-05-12
              • 2011-12-03
              • 2016-05-14
              • 2012-12-24
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多