Sto costruendo un'applicazione dopo aver convertito l'area di lavoro VC++ 6 in Visual C++ 2008 Express. Costruire in sé va con successo ma vero problema che ho è con i manifesti generati che assomiglia a questo:Come distribuire le librerie di runtime C (CRT)
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level='asInvoker' uiAccess='false' />
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='9.0.30729.1' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='9.0.21022.8' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
</assembly>
mia domanda è:
Come posso restringere il manifesto per elencare solo una versione, preferibilmente 9,0. 21022,8. in modo che io possa raggruppare le dipendenze del tempo C-Run necessarie all'interno della mia applicazione?
So che la causa principale possibile di questo problema dipende da alcune librerie che utilizzano 9.0.21022.8 e che il mio VC++ Express 2008 potrebbe utilizzare 9.0.30729.1. ecco perché entrambi sono elencati come dipendenza.
Nota:
Sto seguendo approccio b), della http://www.codeproject.com/Tips/211756/How-to-Distribute-C-run-time-CRT-Libraries-with-Yo?display=Print che parla di copia dei file DLL CRT e file di Microsoft.VCXX.CRT.manifest all'interno della cartella dell'applicazione.
È necessario risolvere il problema. Sì, ricostruisci tutte le librerie con le stesse impostazioni del compilatore. –
Oltre a commentare Hans, vale la pena leggere [questo] (http://www.nuonsoft.com/blog/2008/10/29/binding-to-the-most-recent-visual-studio-libraries/) che dice un po 'sul controllo della versione della libreria a cui il tuo codice si lega. – tinman
Grazie a @tinman, il collegamento inviato da te ha aiutato a risolvere il mio problema. – amit