J'ai ajouté un projet d'application Web ASP.Net existant à ma solution. Outre les configurations standard de débogage et de publication, cette solution dispose également de deux configurations personnalisées, SAT et UAT. Pour la nouvelle application Web, un clic droit sur Web.Config affiche le menu contextuel, mais l'option "Ajouter une transformation de configuration" est grisée.
Je suis à perte. Le nouveau projet est une application Web. Le gestionnaire de configuration n'affiche pas les deux configurations personnalisées pour ce projet, mais pour les autres projets. Le projet semble avoir les entrées correctes dans le fichier de solution.
Pensées?
Vous devez d’abord définir les configurations dans Configuration Manager. Pour être sûr que vous affichez le Gestionnaire de configuration, vous pouvez y accéder en allant à: Build-> Configuraton Manager
Dans le menu déroulant Solution active , sélectionnez <New...>
. Une fois que vous avez ajouté, vous pourrez alors "Ajouter une transformation".
Ne modifiez pas votre fichier de solution directement. Cela ne fera que causer des maux de tête.
Lorsque nous travaillons avec PublishProfiles, pour moi, la réponse a été de cliquer avec le bouton droit de la souris sur le fichier pubxml
approprié (situé dans le sous-dossier Properties
du dossier du projet PublishProfiles
), puis de sélectionner Add Config Transform
. Aucun gestionnaire nécessaire;).
Dans mon cas, dans Visual Studio 2015, lorsque j'ai créé une nouvelle solution basée sur un modèle de projet, Add Config Transform était grisé - mais pour une raison différente:
En cliquant sur "Afficher tous les fichiers", a révélé que les fichiers étaient déjà présents - uniquement masqués. Par conséquent, le bouton était grisé (car il n'est pas nécessaire de les ajouter car ils sont déjà là).
Double-cliquez sur l’un des fichiers de transformation (Web.Debug.config
ou Web.Release.config
) pour l’ouvrir et le modifier.
Remarques:
Je ne voulais pas ajouter de configuration supplémentaire, utilisez simplement Debug} _ et Release. Si vous en créez un, sélectionnez-le et si le fichier de transformation n'existe pas encore, l'élément de menu contextuel Add Transform Transform est actif et n'est pas grisé.
Si vous voulez créer des fichiers de transformation de configuration supplémentaires, n'oubliez pas que dans Visual Studio, les transformations de configuration sont corrélées avec les configurations. Pour ajouter une autre transformation, vous devez d'abord ajouter une nouvelle configuration. Pour en ajouter une autre, procédez comme suit: Via le gestionnaire de configuration (la liste déroulante dans laquelle vous pouvez sélectionner Debug ou Release), ajoutez d’abord une nouvelle configuration, par exemple. myNewConfig. Ensuite, sélectionnez myNewConfig. Maintenant, sélectionnez Web.config dans l'Explorateur de solutions, cliquez avec le bouton droit de la souris et sélectionnez dans le menu contextuel "Ajouter une transformation", il créera Web.myNewConfig.config. Une fois qu'il existe, le menu contextuel sera de nouveau grisé, car VS n'autorise qu'une transformation par configuration.
J'ai résolu ceci en réalisant deux choses:
Pour rendre l'option "ajouter une transformation de configuration" disponible, procédez comme suit:
<New..>
ou <Edit..>
et ajoutez, supprimez ou modifiez quoi Projet vous configure. vouloir.J'espère que ça aide quelqu'un. :)
Pour que cela fonctionne, j'ai dû ajouter de nouveaux groupes de propriétés à mon fichier csproj.
Add Config Transform était grisé.
j'ai ajouté le XML suivant à mon csproj et j'ai rechargé le projet. puis Ajouter une transformation était disponible. une fois sélectionné, mes ajouts ont été ajoutés
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'IAT_CMCD|AnyCPU'">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>Prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'UAT_CM|AnyCPU'">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>Prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>