web-dev-qa-db-fra.com

L'option de transformation Web.config est grisée

Dans VS2010, lorsque je clique avec le bouton droit sur mon fichier web.config, l'option "Ajouter des transformations de configuration" est grisée.

Une idée comment je peux récupérer ça?

61
NotMe

Il était grisé car il y avait déjà des transformations pour toutes les configurations répertoriées.

Je n'ai pas pu voir les fichiers de transformation parce que vb.net dans sa sagesse infinie a décidé de ne pas montrer nativement les fichiers de configuration associés. Apparemment, il n'y a pas d'autre choix que de sélectionner "afficher tous les fichiers" pour les voir.

83
NotMe

On peut également éviter complètement la boîte de dialogue du gestionnaire de configuration et modifier directement le fichier de projet, en ajoutant autant de fichiers de configuration supplémentaires que nécessaire.

Cela est particulièrement utile lorsque vous utilisez un outil de transformation de configuration plus avancé comme CodeAssassin.ConfigTransform ou 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>
13
Mark Larter

Si vous voulez vraiment voir "Ajouter des transformations de configuration" activé, alors ajoutez une nouvelle configuration à l'aide de configurationManager. Ou supprimez l'un des fichiers de configuration web.release.config ou web.Debug.config. Il s'agit d'une restriction de Visual Studio d'avoir un seul fichier de configuration pour chaque environnement.

8
anoop

Ce qui a fonctionné pour moi, c'est un clic droit sur le profil de publication et en sélectionnant "Ajouter une transformation de configuration", j'ai ensuite copié le code existant que nous avions pour les transformations pour QA, UAT, Production, etc.

4
Alex

J'ai eu ce problème après avoir déjà ajouté des configurations supplémentaires à partir de Configuration Manager.

J'ai dû les supprimer et les rajouter avant que Visual Studio n'active "Ajouter des transformations de configuration"

Je suppose que les configurations de celles-ci dans le projet Web ont été supprimées/corrompues à un moment donné, et elles devaient être réinitialisées.

2
Tom Ax

Le redémarrage de Visual Studio a fonctionné pour moi. Je ne dirai pas que cela fonctionnera pour tout le monde, mais cela vaut certainement la peine d'essayer.

J'avais 5 configurations, mais seulement 3 fichiers de transformation. Je n'étais pas en mode débogage, mais l'option était toujours grisée.

2
Ecyrb

Nous avons une solution avec plus de 140 projets et plus de 13 configurations différentes, en plus des configurations de débogage et de libération par défaut. J'ai rencontré le même problème avec l'un de mes projets dans cette solution. L'élément Add Config Transforms était grisé, mais je n'avais que les transformations Debug and Release web.config. Je pense que c'est parce que le projet a probablement été ajouté à la solution après la création de toutes les configurations personnalisées.

Je suis entré dans Configuration Manager et j'ai observé que le projet n'avait pas toutes les autres configurations disponibles. J'ai dû ajouter manuellement chaque configuration manquante en spécifiant et le nom. Une fois cela fait, l'ajout de transformations de configuration est disponible.

2
Jonathan Hensley

J'ai eu le même problème. Ma solution a été d'installer SlowCheetah pour ajouter une autre transformation de configuration. Étrange, mais ça marche très bien.

1
chrjs

J'ai eu le scénario où j'avais une configuration existante nommée "Dev". Il n'y avait aucun fichier Web.Dev.congig sous Web.config et l'option de menu à ajouter était désactivée.

J'ai supprimé la configuration et l'ai ajoutée à nouveau. Ce faisant, il a ajouté un nouveau fichier Web.Dev.config et a activé l'option de menu "Ajouter une transformation de configuration". Je soupçonne qu'il y a eu une certaine confusion dans le fichier csproj.

Il semble qu'une partie de cette confusion ait été dissipée dans VS2015.

1
PhillipPDX

S'il s'agit d'une configuration personnalisée que vous ajoutez via Configuration Manager, assurez-vous de cocher la case "Créer de nouvelles configurations de projet" (elle n'est pas cochée par défaut) lorsque vous créez la configuration.

1
Evan Haas