Applicazione Web ASP.Net Aggiungi configurazione trasformazione in grigio


88

Ho aggiunto un progetto di applicazione web ASP.Net esistente alla mia soluzione. Oltre alle configurazioni standard di debug e rilascio, questa soluzione ha anche due configurazioni personalizzate, SAT e UAT. Per la nuova applicazione Web, fare clic con il pulsante destro del mouse su Web.Config mostra il menu contestuale ma l'opzione per "Aggiungi trasformazione di configurazione" è disattivata.

Sono in perdita. Il nuovo progetto è un'applicazione web. Il Configuration Manager non mostra le due configurazioni personalizzate per questo progetto ma lo fa per gli altri progetti. Il progetto sembra avere le voci corrette nel file della soluzione.

Pensieri?

Risposte:


115

È necessario prima definire le configurazioni in Configuration Manager. Per essere sicuri di aprire Configuration Manager, puoi accedervi andando su: Build-> Configuraton Manager

Nel menu a discesa Configurazione della soluzione attiva , selezionare <New...>. Dopo aver aggiunto, sarai quindi in grado di "Add Config Transform".

Non modificare direttamente il file della soluzione. Provocherà solo mal di testa.


6
Duh. Avevo provato prima ma non sono riuscito a deselezionare la casella "crea", quindi non è riuscito come "duplicato". Non appena ho deselezionato la casella "crea" ha funzionato.
paulv7260

@maplemale Lo stesso qui, opzione ancora grigia
Anders Lindén

Mi dispiace, non ricordo come ho fatto a funzionare, potrei aver violato direttamente il file sln, contrariamente alla risposta di Jeremy, a volte è solo l'unica opzione praticabile nel tempo. Non ho avuto questo problema dall'aggiornamento a VS2015.
maplemale

2
Le configurazioni della soluzione e del progetto sono diverse! È necessario creare una configurazione in un determinato progetto prima che possa utilizzare quella trasformazione. Seleziona "Crea nuove configurazioni di progetto" per creare la configurazione in tutti i progetti contemporaneamente, oppure fallo individualmente come ha fatto @ paulv7260.
Patrick

1
Se è ancora disattivato, assicurati che il tuo progetto web abbia una configurazione di build che corrisponda al nome della configurazione della soluzione e assicurati che sia selezionata.
jmatthias

45

Poiché lavoriamo con PublishProfiles, per me la risposta è stata fare clic con il pulsante destro del mouse sul pubxmlfile pertinente (che si trova nella Propertiessottocartella della cartella del progetto PublishProfiles) e quindi selezionare Add Config Transform. Nessun manager necessario;).


Questa soluzione funziona molto meglio per me poiché voglio solo questa trasformazione aggiunta, nient'altro. La nuova configurazione della soluzione attiva ha un impatto su tutti i progetti nella soluzione, che non è rilevante nel mio caso. Grazie!
Ben

Perfetto. Funziona nel mio vecchio progetto Web Form che ora sto modificando in Visual Studio 2015. Lo adoro. Grazie.
bkwdesign

5
Testato e funzionante su VS 2015. Tuttavia, non riesco ancora a capire perché "Add Config Transform" è disattivato
Illidan

20

Nel mio caso, in Visual Studio 2015, quando ho creato una nuova soluzione basata su un modello di progetto, Add Config Transform era disattivato, ma per un motivo diverso:

Facendo clic su "Mostra tutti i file" è stato rivelato che i file erano già presenti - solo nascosti. Quindi, il pulsante è stato disattivato (perché non è necessario aggiungerli poiché sono già presenti).

  1. Fai clic sull'icona "Mostra tutti i file":
    inserisci qui la descrizione dell'immagine

  2. Ora puoi espandere "Web.config":
    inserisci qui la descrizione dell'immagine

  3. Fare doppio clic su uno dei file di trasformazione ( Web.Debug.configo Web.Release.config) per aprirlo e modificarlo.

Appunti:

  • Non volevo aggiungere una configurazione aggiuntiva, basta usare Debug e Release . Se ne crei uno, selezionalo e il file di trasformazione non esiste ancora, la voce del menu contestuale Aggiungi trasformazione di configurazione è attiva e non è disattivata.

  • Se si desidera creare file di trasformazione della configurazione aggiuntivi , tenere presente che in Visual Studio le trasformazioni di configurazione sono correlate alle configurazioni. Per aggiungere un'altra trasformazione, è necessario prima aggiungere una nuova configurazione. Per aggiungerne un'altra, procedi come segue: Tramite il gestore della configurazione (il menu a discesa in cui puoi selezionare Debug o Rilascio), aggiungi prima una nuova configurazione, ad esempio myNewConfig. Quindi seleziona myNewConfig. Ora seleziona Web.config in Solution Explorer, fai clic con il tasto destro e seleziona nel menu contestuale "Add Config Transform": creerà Web.myNewConfig.config. Una volta che esiste, il menu contestuale verrà nuovamente disattivato, poiché VS consente solo una trasformazione per configurazione.


Questa era la situazione anche per me. Volevo che i file di trasformazione della configurazione rimanessero visibili, quindi ho commentato <DependentUpon>Web.config</DependentUpon>nel file di progetto. Le trasformazioni funzionano ancora come previsto.
Ethan

Come posso aggiungere nuove trasformazioni di configurazione?
Reshma

@Reshma: in Visual Studio, le trasformazioni di configurazione sono correlate alle configurazioni. Tramite il gestore di configurazione (il menu a discesa in cui è possibile selezionare Debug o Rilascio), aggiungere prima una nuova configurazione, ad esempio myNewConfig. Quindi seleziona myNewConfig. Ora seleziona Web.config, fai clic con il tasto destro e seleziona nel menu contestuale "Add Config Transform": creerà Web.myNewConfig.config.
Matt

L'ho fatto Matt e sono stato in grado di aggiungere un file di configurazione ma sto provando ad aggiungere un altro file di configurazione e ora di nuovo "aggiungi trasformazione di configurazione" è disattivato. Ho anche creato un nuovo file di configurazione per il prossimo file di configurazione
Reshma

1
@Reshma - È corretto, perché puoi averne solo uno per configurazione. Per ottenerne un altro, aggiungi una configurazione extra, ad esempio myNewConfig2. Quindi seleziona myNewConfig2 e riprova. Questa volta non dovrebbe essere grigio: selezionalo. Nota: sarà disattivato non appena esiste un file di configurazione per quella configurazione.
Matt

1

Per farlo funzionare ho dovuto aggiungere nuovi gruppi di proprietà al mio file csproj.

Aggiungi trasformazione di configurazione era disattivato.

ho aggiunto il seguente XML al mio csproj e ho ricaricato il progetto. quindi Add Config Transform era disponibile. una volta selezionato, sono state aggiunte le mie trasformazioni di addizione

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

1

Ho risolto questo problema realizzando due cose:

  1. C'è una configurazione a livello di soluzione e ci sono configurazioni a livello di progetto . Web.MyConfigName.config viene creato in base alle configurazioni a livello di progetto .
  2. Sembra che Visual Studio 2017 Configuration Manager basi le configurazioni da aggiungere dalla cartella obj (nascosta). L'eliminazione della cartella obj per il progetto e la ricostruzione aggiornerà il progetto con le configurazioni che hai aggiunto.

Per rendere disponibile l'opzione "aggiungi trasformazione di configurazione" segui questi passaggi:

  1. Assicurati di aver abilitato la visualizzazione dei file nascosti
  2. Apri il gestore di configurazione per la soluzione
  3. Scegli la configurazione della soluzione pertinente , quindi nel menu a discesa accanto al tuo progetto scegli <New..>o <Edit..>e aggiungi, rimuovi o modifica le configurazioni del progetto che desideri.
  4. Elimina la cartella obj nel tuo progetto. Ricostruire. Assicurati di salvare le modifiche al progetto e ai file della soluzione. Ho anche riavviato visual studio, perché no. Verifica di vedere tutte le configurazioni del tuo progetto come cartelle nella cartella obj.
  5. Fare clic con il pulsante destro del mouse su web.config e aggiungere la trasformazione della configurazione.

Spero che aiuti qualcuno. :)


1

Come abilitare l'opzione "Aggiungi trasformazione configurazione". Si prega di seguire i passaggi seguenti. Passaggio 1: vai alla configurazione della soluzione (sotto il team) Vai alla configurazione della soluzione (sotto il team)

Passaggio 2: fare clic su Configuration Manager Fare clic su Configuration Manager

Passaggio 3: selezionare Nuovo dalla finestra di configurazione della soluzione attiva Selezionare Nuovo dalla finestra di configurazione della soluzione attiva

Step4: Ora dai un nome significativo al tuo nuovo elemento come Produzione / Allestimento e seleziona l'impostazione di copia dall'opzione "Rilascio". Assicurati di aver selezionato la casella di controllo se non viene selezionata per impostazione predefinita e fai clic su OK. Ora dai un nome significativo al tuo nuovo oggetto come Produzione / Messa in scena

Passaggio 5: ora torna a Esplora soluzioni e fai clic con il pulsante destro del mouse sul file Web.Config. Add Config Transform è ora abilitato

Hola! Add Config Transform è ora abilitato. :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.