Опция преобразования Web.config выделена серым цветом

В VS2010, когда я нажимаю правой кнопкой мыши на свой файл web.config, опция "Добавить Config Transforms" выделена серым цветом.

Любая идея, как я могу вернуть это?

Ответ 1

Он был выделен серым цветом, поскольку для всех перечисленных конфигураций уже были преобразованы.

Я не мог видеть файлы преобразования, потому что vb.net в своей бесконечной мудрости решил не отображать связанные файлы конфигурации. По-видимому, нет выбора, кроме как выбрать "показать все файлы", чтобы увидеть их.

Ответ 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

Если вы действительно хотите увидеть, что включена опция "Добавить конфигурационные преобразования", добавьте новую конфигурацию с помощью ConfigurationManager. Или удалите любой файл конфигурации web.release.config или web.Debug.config. Это ограничение Visual Studio, чтобы иметь один файл конфигурации для каждой среды.

Ответ 4

Что сработало для меня, это щелкнуть правой кнопкой мыши по профилю публикации и выбрать "Добавить конфигурационное преобразование", затем я скопировал существующий код для трансформаций для QA, UAT, Production и т.д.

Ответ 5

Перезагрузка Visual Studio работала для меня. Я не буду говорить, что это сработает для всех, но это, безусловно, стоит попробовать.

У меня было 5 конфигураций, но только 3 файла преобразования. Я не был в режиме отладки, но опция все еще была недоступна.

Ответ 6

У меня возникла проблема после добавления дополнительных конфигураций из Configuration Manager.

Мне пришлось удалить их и повторно добавить их до того, как Visual Studio включит "Add Config Transforms"

Я предполагаю, что конфигурации для них в веб-проекте были удалены/повреждены в какой-то момент, и это должно быть reset.

Ответ 7

У нас есть решение с более чем 140 проектами и более 13 различными конфигурациями, помимо конфигураций Debug и Release по умолчанию. Я столкнулся с той же проблемой с одним из моих проектов в этом решении. Элемент Add Config Transforms был выделен серым цветом, но у меня были только преобразования Debug и Release web.config. Я считаю, что это связано с тем, что проект, вероятно, был добавлен в решение после создания всех пользовательских конфигураций.

Я зашел в Configuration Manager и заметил, что проект не имеет всех других доступных конфигураций. Мне пришлось вручную добавить каждую отсутствующую конфигурацию, указав и имя. Как только это будет сделано, доступны Add Config Transforms.

Ответ 8

Если это настраиваемая конфигурация, которую вы добавляете через Configuration Manager, обязательно установите флажок "Создать новые конфигурации проекта" (он по умолчанию не установлен) при создании конфигурации.

Ответ 9

У меня был сценарий, в котором у меня была существующая конфигурация с именем "Dev". В Web.config не было файла Web.Dev.congig, и опция меню для добавления была отключена.

Я удалил конфигурацию и снова добавил ее. После этого он добавил новый файл Web.Dev.config и включил опцию меню "Добавить конфигурационное преобразование". Я подозреваю, что в файле csproj произошла некоторая путаница.

Похоже, что некоторые из этих путаниц были устранены в VS2015.

Ответ 10

У меня была та же проблема. Моим решением было установить SlowCheetah, чтобы добавить другое преобразование конфигурации. Странно, но он работает очень хорошо.