webentwicklung-frage-antwort-db.com.de

ASP.Net-Webanwendung "Config Config" wird ausgegraut

Ich habe meiner Lösung ein vorhandenes ASP.Net-Webanwendungsprojekt hinzugefügt. Neben den Standardkonfigurationen für Debugging und Release verfügt diese Lösung auch über zwei benutzerdefinierte Konfigurationen, SAT und UAT. Wenn Sie mit der neuen Webanwendung mit der rechten Maustaste auf Web.Config klicken, wird das Kontextmenü angezeigt. Die Option für "Add Config Transform" ist jedoch ausgegraut.

Ich bin ratlos. Das neue Projekt ist eine Webanwendung. Der Configuration Manager zeigt nicht die beiden benutzerdefinierten Konfigurationen für dieses Projekt an, sondern die anderen Projekte. Das Projekt scheint die richtigen Einträge in der Lösungsdatei zu haben.

Gedanken?

79
paulv7260

Sie müssen zunächst die Konfigurationen im Configuration Manager definieren. Um sicherzustellen, dass Sie den Configuration Manager aufrufen, können Sie darauf zugreifen: Build-> Configuraton Manager

Wählen Sie in der Dropdownliste Active Solution Configuration <New...> aus. Sobald Sie hinzugefügt haben, können Sie "ConfigTransform hinzufügen" hinzufügen.

Bearbeiten Sie Ihre Lösungsdatei nicht direkt. Es wird nur Kopfschmerzen verursachen.

99
Jeremy

Während wir mit PublishProfiles arbeiten, war für mich die Antwort ein Rechtsklick auf die entsprechende pubxml-Datei (im Projektordner Properties-Unterordner PublishProfiles) und dann Add Config Transform. Keine Manager nötig;).

34
Paul Siersma

In meinem Fall in Visual Studio 2015 wurde Add Config Transform ausgegraut, als ich eine neue Lösung basierend auf einer Projektvorlage erstellte. Dies ist jedoch aus einem anderen Grund der Fall:

Durch Klicken auf "Alle Dateien anzeigen" wurden die Dateien bereits angezeigt - nur versteckt. Daher war der Button grau hinterlegt (weil er nicht hinzugefügt werden muss, da er bereits vorhanden ist).

  1. Klicken Sie auf das Symbol "Alle Dateien anzeigen":
     enter image description here

  2. Jetzt können Sie "Web.config" erweitern:
     enter image description here

  3. Doppelklicken Sie auf eine der Transformationsdateien (Web.Debug.config oder Web.Release.config), um sie zu öffnen und zu bearbeiten.

Anmerkungen: 

  • Ich wollte keine zusätzliche Konfiguration hinzufügen, verwenden Sie einfach Debug und Release. Wenn Sie eine erstellen, auswählen und die Transformationsdatei noch nicht vorhanden ist, ist der Kontextmenüeintrag Add Config Transform aktiv und nicht ausgegraut.

  • Wenn Sie zusätzliche Konfigurationsumwandlung erstellen -Dateien erstellen möchten, beachten Sie, dass in Visual Studio die Konfigurationsumwandlungen mit den Konfigurationen korrelieren. Um eine weitere Transformation hinzuzufügen, müssen Sie zuerst eine neue Konfiguration hinzufügen. So fügen Sie eine weitere hinzu: Fügen Sie über den Konfigurationsmanager (Dropdown-Menü, in dem Sie Debug oder Release auswählen können) eine neue Konfiguration hinzu, z. myNewConfig. Wählen Sie dann myNewConfig. Wählen Sie nun Web.config im Projektmappen-Explorer aus, klicken Sie mit der rechten Maustaste, und wählen Sie im Kontextmenü "Add Config Transform" (Konfiguration hinzufügen hinzufügen) aus. Es wird Web.myNewConfig.config erstellt. Sobald es existiert, wird das Kontextmenü wieder ausgegraut, da VS nur eine Transformation pro Konfiguration zulässt.

13
Matt

Ich habe das gelöst, indem ich zwei Dinge realisiert habe:

  1. Es gibt eine Solution Level-Konfiguration und es gibt Project Level-Konfigurationen. Die Datei web.MyConfigName.config wird basierend auf Projekt Ebenenkonfigurationen erstellt.
  2. Visual Studio 2017 Configuration Manager basiert anscheinend darauf, welche Konfigurationen aus dem (ausgeblendeten) Ordner obj hinzugefügt werden sollen. Wenn Sie den Ordner "obj" für das Projekt löschen und neu erstellen, wird das Projekt mit den von Ihnen hinzugefügten Konfigurationen aktualisiert.

Gehen Sie folgendermaßen vor, um die Option "Konfigurationsumwandlung hinzufügen" verfügbar zu machen:

  1. Stellen Sie sicher, dass Sie Versteckte Dateien anzeigen aktiviert haben
  2. Öffnen Sie den Konfigurationsmanager für Lösung
  3. Wählen Sie die relevante Lösung Konfiguration aus, und wählen Sie dann in der Dropdown-Liste neben Ihrem Projekt <New..> oder <Edit..> aus und fügen Sie hinzu, entfernen oder bearbeiten Sie die Projekt Konfiguration wollen.
  4. Löschen Sie den Ordner obj in Ihrem Projekt. Wiederaufbau. Stellen Sie sicher, dass Sie die Änderungen an Ihren Projekt- und Lösungsdateien speichern. Ich habe auch Visual Studio neu gestartet, weil warum nicht. Stellen Sie sicher, dass Sie alle Ihre Projektkonfigurationen als Ordner in Ihrem obj-Ordner sehen.
  5. Klicken Sie mit der rechten Maustaste auf web.config und fügen Sie Ihre Konfigurationsumwandlung hinzu.

Hoffe es hilft jemandem. :)

0

Damit dies funktioniert, musste ich meiner csproj-Datei neue Eigenschaftsgruppen hinzufügen.

Add Config Transform war ausgegraut.

ich habe meinem csproj das folgende XML hinzugefügt und das Projekt neu geladen. dann war Add Config Transform verfügbar. Einmal ausgewählt, wurden meine Additionsumwandlungen hinzugefügt

<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