Se è necessario copiare/spostare altri file .config (diversi da web.config) dopo la compilazione prima di pubblicare qui è come può essere fatto con Visual Studio 2013 (non l'ho testato su versioni precedenti) . Questa sezione può essere aggiunta alla fine del file .csproj subito prima del tag di chiusura </Project > e verrà attivata appena prima che MSDeploy avvii il processo di pubblicazione.
<Target Name="MoveConfigFile" BeforeTargets="MSDeployPublish">
<Move
SourceFiles="$(IntermediateOutputPath)Package\PackageTmp\ThirdPartyApp.config"
DestinationFolder="$(IntermediateOutputPath)Package\PackageTmp\bin"
OverwriteReadOnlyFiles="true"
/>
</Target>
L'azienda per cui lavoro acquistato un prodotto di terze parti che ha bisogno di avere un file config nella cartella bin insieme al suo assemblaggio per poter lavorare.
Allo stesso tempo, abbiamo bisogno di elaborare file con estensione config del prodotto e essere in grado di spostarlo nella cartella bin dopo trasformazioni.
La cartella $ (IntermediateOutputPath) Package \ PackageTmp contiene l'intera applicazione che verrà copiata sul server di destinazione.
Ho trovato una soluzione alternativa. Non è elegante, ma funziona. Ho creato un progetto fittizio e ho impostato la sua dipendenza per creare dopo il progetto che avevo eventi post-compilazione. Ho spostato l'evento di copia post-build dal progetto originale a questo nuovo progetto fittizio. Funziona perché SlowCheetah ha fatto il suo lavoro. – ScottC