Ridistribuzione del componente runtime C condiviso in Visual C++

Riepilogo

Quando si compila un'applicazione in Microsoft Visual Studio e l'applicazione utilizza le librerie di runtime C (CRT), è possibile distribuire la DLL CRT appropriata dall'elenco seguente con l'applicazione:
  • Msvcr90. dll per Microsoft Visual C++ 2008
  • Msvcr80. dll per Microsoft Visual C++ 2005
  • MSVCR71. dll per Microsoft Visual C++ .NET 2003 con il Microsoft.NET Framework 1.1
  • MSVCR70 per Microsoft Visual C++ .NET 2002 con il Microsoft.NET Framework 1.0
Per MSVCR70. dll o MSVCR71. dll, è necessario installare la DLL CRT di directory di file di programma dell'applicazione. Non installare questi file nella directory di sistema Windows. Per msvcr80. dll e MSVCR90. dll, è necessario installare CRT come assembly side-by-side di Windows.

Ulteriori informazioni

La DLL CRT condiviso è stata distribuita da Microsoft in passato come componente di sistema condivisa. Ciò può causare problemi quando si eseguono applicazioni collegate a una versione diversa di CRT in computer che non dispongono di versioni corrette della DLL CRT installato. Ciò viene comunemente definito il problema "Conflitto di DLL".

Per risolvere questo problema, la DLL CRT non è più considerata un file di sistema, pertanto, distribuire la DLL CRT con qualsiasi applicazione che si basa su di esso. Poiché non è più di un componente di sistema, è possibile installarlo nella directory di file di programma di applicazioni con altro codice specifico dell'applicazione. In questo modo l'applicazione dall'utilizzo di altre versioni della libreria CRT che può essere installato sui percorsi di sistema.

Visual C++ .NET 2003 o Visual C++ .NET 2002 installa la DLL CRT nella directory System32 in un sistema di sviluppo. Questo è installato per comodità per gli sviluppatori. In caso contrario, tutti i progetti creati con Visual C++ che è collegato a CRT condivisa richiedono una copia della DLL nella directory di compilazione per il debug e l'esecuzione. Visual C++ 2005 e Visual C++ 2008 installare la DLL CRT come un assembly side-by-side di Windows in Windows XP e versioni successive. Windows 2000 non supporta gli assembly side-by-side. In Windows 2000, la DLL CRT è installata nella directory System32.

Quando si distribuiscono le applicazioni che richiedono la libreria CRT condivisa della DLL CRT, si consiglia di utilizzare il modulo unione CRT.msm che è incluso in Visual C++ anziché distribuire direttamente il file DLL.

Assembly side-by-side di Windows

Msvcr80. dll con Visual C++ 2005 e MSVCR90. dll con Visual C++ 2008 vengono ridistribuiti come assembly side-by-side di Windows tranne Windows 2000. Eseguendo l'applicazione Vcredist_x86.exe inclusa in Visual Studio, è necessario installare queste versioni di CRT sui computer di destinazione. Sono disponibili anche programmi di installazione per la x64 e IA-64 piattaforme. In alternativa, è possibile utilizzare il modulo unione msm CRT fornito con Visual Studio per assemblare il programma di installazione di CRT in un'applicazione di installazione. Questa operazione renderà disponibile come assembly condivisi da tutte le applicazioni CRT perché è installato nella directory \windows\winsxs nei sistemi operativi supportati.

Riferimenti

Per ulteriori informazioni, visitare il seguente sito Web Microsoft Developer Network (MSDN):Per ulteriori informazioni sugli assembly side-by-side di Windows, visitare i seguenti siti Web Microsoft Developer Network (MSDN):
Proprietà

ID articolo: 326922 - Ultima revisione: 30 gen 2017 - Revisione: 1

Feedback