Qual è la differenza tra diversi, Build Configuration settingsad 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 Platforme 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 x86o x64piattaforma di costruzione.
Quindi a livello di soluzione Mixed Platformverrà 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 ++.