Qual è la differenza tra diversi, Build Configuration settings
ad esempio, qualsiasi CPU, piattaforma mista, WIN32 ecc in Visual Studio.
Risposte:
Ecco un collegamento che aiuta a spiegare l'impostazione di configurazione della build trovata in Visual Studio e nei suoi file di build:
Fondamentalmente l'impostazione indica su quale piattaforma l'assembly è in grado di funzionare. Quando AnyCPU è selezionato, la DLL risultante è contrassegnata come in grado di essere eseguita ovunque; quando si seleziona x86, la DLL risultante è contrassegnata come in grado di essere eseguita solo su sistemi a 32 bit e non verrà eseguita in applicazioni o processi a 64 bit (ma verrà eseguita in Windows a 64 bit;) e così via e così via.
Questo imposta semplicemente i flag sulla DLL compilata - non cambia affatto altri aspetti del processo di compilazione.
Come altra piattaforma già spiegata. (Ad esempio X86 per 32 bit, x64 è solo per 64 bit e "Qualsiasi CPU" può essere eseguito in Entrambi). Mi concentrerò su Mixed Platform
e su come questo sia diverso da Any CPU
.
Il Any CPU
è l'impostazione livello di progetto, dove, come nel mondo reale soluzione abbiamo il numero di progetti in un'unica soluzione, e loro sono le probabilità che alcuni di mio uso progetto Any CPU
, ma altri utilizza la x86
o x64
piattaforma di costruzione.
Quindi a livello di soluzione Mixed Platform
verrà selezionato automaticamente . questo indica che durante la soluzione Build / Rebuild ogni progetto viene compilato in base alla piattaforma selezionata.
I nomi di configurazione della build non significano molto: proliferano se hai progetti C ++ e C # nella stessa soluzione (e anche peggio se hai anche progetti mobili), perché i vari tipi di progetti usano nomi di configurazione diversi, quindi finisci con molti di loro.
Cerchiamo di continuare a eliminare tutte le configurazioni che non stiamo utilizzando, ma a volte è un duro lavoro poiché spesso quando aggiungi un nuovo progetto, le configurazioni indesiderate verranno aggiunte di nuovo alla soluzione.
Il mio consiglio è di decidere quali configurazioni ti servono (guardando le impostazioni effettive al loro interno), quindi rimuovere tutto il resto.
Da: questo post. https://social.msdn.microsoft.com/forums/vstudio/en-US/81c72e8b-6335-4bf4-b7c0-b5c322edcaee/mixed-platforms-vs-any-cpu
Quando tutti i progetti in una soluzione sono dello stesso tipo (es. Progetti C # / VB), le configurazioni della soluzione corrisponderanno esattamente alle configurazioni del progetto. Una volta che si hanno progetti in una soluzione con configurazioni / piattaforme non corrispondenti, Visual Studio crea le configurazioni a livello di soluzione "Piattaforme / Debug miste" ed eventualmente "Piattaforme / versioni miste". Queste configurazioni sono solo mappature a singole configurazioni a livello di progetto.
Ad esempio, se si dispone di un progetto C # e un progetto C ++, in genere "Piattaforme / Debug miste" verrà mappato a "Qualsiasi CPU / Debug" per il progetto C # e "Win32 / Debug" per il progetto C ++.