Ho una soluzione in Visual Studio 2012 con 170 progetti C# in esso. Ho bisogno di retarget tutti i progetti da .NET Framework 4.0 a 4.5.2.Retargeting Tutti i progetti in una soluzione su .NET 4.5.2
Preferisco lasciare che sia gestito da Visual Studio andando nelle proprietà di ogni progetto, modificando il framework di destinazione e lasciando che Visual Studio apporti le modifiche necessarie ai file .csproj.
Ho notato che queste modifiche includono l'aggiunta di alcuni nuovi tag XML a .csproj, in base ad alcuni attributi del progetto corrente.
Come posso eseguire il retargeting in batch di tutti i 170 progetti C# senza utilizzare solo uno strumento di sostituzione testo per sostituire il numero di versione di destinazione? Voglio che Visual Studio esegua tutte le modifiche necessarie al tag e le aggiunte e la sola sostituzione non consentano che ciò accada.
Non conosco alcun modo per farlo automaticamente .. Penso che la soluzione migliore sarebbe un normale registratore di macro di Windows, che usi i comandi da tastiera .. Ma, vorrei eseguirli uno alla volta piuttosto che provare raggrupparli insieme in quanto potrebbe essere difficile identificare quando VS è fatto con il suo lavoro in tutti i casi. –
No, non dovresti farlo. * Soprattutto * non 4.5.2, non ha nuovi tipi utili ed è improbabile che sia coperto da futuri pacchetti multi-targeting. Proprio come 4.0x non lo era. Fai questo * un * progetto alla volta e solo quelli che ne hanno bisogno. Quelli in cui * in realtà * vuoi aggiungere un nuovo assembly di riferimento e modificare il codice per utilizzarli. Se si desidera ignorare questo consiglio, probabilmente lo si fa, quindi utilizzare Modifica> Trova e sostituisci> Sostituisci nei file per sostituire l'elemento TargetFrameworkVersion nei file * .csproj. Assicurati che il tuo controllo sorgente sia solido. –
@HansPassant La tua soluzione di Trova/Sostituisci è esattamente ciò che non volevo fare in base alla mia domanda. Ho bisogno di una soluzione più robusta. –