web-dev-qa-db-fra.com

Application Web ASP.Net Ajouter une transformation à la configuration grisée

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?

79
paulv7260

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.

99
Jeremy

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;).

34
Paul Siersma

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à).

  1. Cliquez sur l'icône "Afficher tous les fichiers":
     enter image description here

  2. Vous pouvez maintenant développer "Web.config":
     enter image description here

  3. 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.

13
Matt

J'ai résolu ceci en réalisant deux choses:

  1. Il existe une configuration de niveau Solution, et il existe des configurations de niveau Projet. Le fichier web.MyConfigName.config est créé sur la base de configurations de niveau projet.
  2. Il semble que Visual Studio 2017 Configuration Manager base les configurations à ajouter à partir du dossier (masqué) obj. La suppression du dossier obj du projet et sa reconstruction mettront à jour le projet avec les configurations que vous avez ajoutées.

Pour rendre l'option "ajouter une transformation de configuration" disponible, procédez comme suit:

  1. Assurez-vous que vous avez activé Afficher les fichiers cachés
  2. Ouvrez le gestionnaire de configuration pour le Solution
  3. Choisissez la configuration appropriée Solution, puis, dans le menu déroulant en regard de votre projet, sélectionnez <New..> ou <Edit..> et ajoutez, supprimez ou modifiez quoi Projet vous configure. vouloir.
  4. Supprimez le dossier obj dans votre projet. Reconstruire. Veillez à enregistrer les modifications apportées aux fichiers de votre projet et de votre solution. J'ai également redémarré Visual Studio, car pourquoi pas. Vérifiez que toutes les configurations de votre projet s'affichent sous forme de dossiers dans votre dossier obj.
  5. Cliquez avec le bouton droit sur web.config et ajoutez votre transformation de configuration.

J'espère que ça aide quelqu'un. :)

0
Emanuel Lindström

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>
0
JGilmartin