2015-06-19 6 views
9

Sto creando un pacchetto nuget in cui parte del risultato dell'installazione del pacchetto è la modifica del mio web.release.config.Trasformazioni XDT - Trasformazione della trasformazione

Non ho problemi ad inserire elementi in questo file con my web.release.config.install.xdt, ma ho bisogno di mantenere gli attributi xdt: Transform e xdt: Locator sugli elementi che sto inserendo perché queste trasformazioni avranno bisogno da eseguire quando l'applicazione è stata creata per la distribuzione.

Così, per esempio quando si installa il pacchetto di NuGet mi piacerebbe vedere:

<add key="serilog:using" value="Serilog.Sinks.Seq" xdt:Transform="InsertIfMissing" xdt:Locator="Match(key)" /> 

visualizzato nella web.release.config compreso il xdt: Transform e xdt: attributi Locator.

È possibile farlo?

+0

Ho inserito una [domanda] (http://blog.nuget.org/20130920/how-to-use-nugets-xdt-feature-examples-and-facts.html) su questo blog di nuget. –

risposta

0

Non credo che quello che stai cercando di fare sia supportato da msbuild o SlowCheetah. La maggior parte dei proprietari di pacchetti NuGet non conosce abbastanza l'implementazione dei propri clienti per impostare i valori in configurazioni specifiche dell'ambiente. Inoltre, gli strumenti di trasformazione in cui non sono stati scritti con NuGet sono stati concepiti per soddisfare esigenze diverse. Scusa per le cattive notizie.

Potrebbe essere possibile utilizzare uno script powershell init.ps1 per eseguire questa operazione (NuGet eseguirà questo script la prima volta che il pacchetto verrà installato nella soluzione) ma sarà meno che pulito.