Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Tái phân phối của các thành phần C runtime chia sẻ trong Visual C ++

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 326922
Tóm tắt
Khi bạn xây dựng một ứng dụng trong Microsoft Visual Studio, và các ứng dụng sử dụng thư viện C thời gian chạy (CRT), phân phối DLL CRT thích hợp từ danh sách sau đây với các ứng dụng của bạn:
  • Msvcr100.dll cho Microsoft Visual C++ 2010
  • MSVCR90 cho Microsoft Visual C++ 2008
  • Msvcr80.dll cho Microsoft Visual C++ 2005
  • Msvcr71.dll cho Microsoft Visual C++ net 2003 với Microsoft Khuôn khổ .NET 1.1
  • Msvcr70.dll cho Microsoft Visual C++ .NET 2002 với Microsoft Khuôn khổ .NET 1.0
Cho Msvcr70.dll hoặc Msvcr71.dll, bạn nên cài đặt chuyên biệt tệp DLL CRT vào mục tin thư thoại tập tin chương trình ứng dụng của bạn. Bạn không nên cài đặt chuyên biệt những tập tin này vào mục tin thư thoại hệ thống Windows. Cho Msvcr80.dll và MSVCR90, bạn nên cài đặt chuyên biệt CRT như Windows side-by-side hội đồng. Đối với Msvcr100.dll, bạn có thể sử dụng một xu VCREDIST_*.exe hoặc cài đặt chuyên biệt màn hình CRT DLL vào mục tin thư thoại tập tin chương trình ứng dụng của bạn.
Thông tin thêm
DLL CRT chia sẻ đã được phân phối bởi Microsoft trong quá khứ như là một thành phần hệ thống chia sẻ (msvcp60.dll, vv). Điều này có thể gây ra vấn đề khi bạn chạy các ứng dụng được liên kết với một phiên bản khác nhau của CRT trên máy tính không có phiên bản đúng của tệp DLL CRT cài đặt chuyên biệt. Điều này thường được gọi là vấn đề "DLL xung đột".

Để giải quyết vấn đề này, màn hình CRT DLL không còn được coi là một hệ thống tệp, do đó, phân phối DLL CRT với bất kỳ ứng dụng dựa vào nó. Bởi vì nó không còn là một thành phần hệ thống, cài đặt chuyên biệt nó trong mục tin thư thoại tập tin chương trình ứng dụng của bạn với mã dành riêng cho ứng dụng khác. Điều này ngăn không cho ứng dụng của bạn từ việc sử dụng các phiên bản khác của thư viện CRT có thể được cài đặt chuyên biệt trên đường dẫn hệ thống.

Visual C++ Studio.net 2003 hoặc Visual C++ .NET 2002 cài đặt chuyên biệt màn hình CRT DLL trong mục tin thư thoại System32 trên một hệ thống phát triển. Điều này được cài đặt chuyên biệt như một thuận lợi cho các nhà phát triển. Nếu không, tất cả dự án được xây dựng với Visual c + + liên kết với màn hình CRT chia sẻ yêu cầu một đồng gửi của tệp DLL trong mục tin thư thoại xây dựng cho gỡ lỗi và thực hiện. Visual C++ 2005 và Visual C++ 2008 cài đặt chuyên biệt màn hình CRT DLL là một Windows side-by-side lắp ráp trên Windows XP và hệ điều hành sau đó. Windows 2000 không hỗ trợ hội đồng cạnh nhau. Trên Windows 2000, CRT DLL được cài đặt chuyên biệt trong mục tin thư thoại System32.

Khi bạn phát hành ứng dụng yêu cầu các thư viện chia sẻ CRT màn hình CRT DLL, chúng tôi khuyên bạn nên sử dụng các mô-đun kết hợp CRT.msm đó là đi kèm với Visual C ++ thay vì trực tiếp phân phối các tập tin DLL.

Windows side-by-side hội đồng

Msvcr80.dll với Visual C++ 2005 và MSVCR90 với Visual C++ 2008 được phân phối lại như là Windows side-by-side Hội ngoại trừ trên Windows 2000. Bạn nên cài đặt chuyên biệt các phiên bản của CRT trên máy tính mục tiêu bằng cách chạy ứng dụng Vcredist_x86.exe đi kèm với Visual Studio. Cũng có những chương trình cài đặt chuyên biệt cho x 64 và ia64 nền tảng. Ngoài ra, bạn có thể sử dụng các màn hình CRT msm kết hợp module được cung cấp với Visual Studio để gói cài đặt chuyên biệt màn hình CRT vào ứng dụng thiết lập riêng của bạn. Điều này sẽ làm cho CRT có sẵn như là một hội đồng được chia sẻ với tất cả các ứng dụng vì nó được cài đặt chuyên biệt trong mục tin thư thoại \windows\winsxs trên hệ điều hành được hỗ trợ.

Msvcr100.dll với Visual C++ 2010 không làm cho sử dụng Windows-by-side hội đồng.
Tham khảo
Để biết thêm thông tin, hãy truy cập Microsoft sau đây Phát triển web site mạng (MSDN): Để biết thêm thông tin về Windows hội đồng cạnh nhau, ghé thăm Web site sau của Microsoft Developer Network (MSDN):
DLL Hell

Cảnh báo: Bài viết này đã được dịch tự động

Thuộc tính

ID Bài viết: 326922 - Xem lại Lần cuối: 03/10/2013 04:24:00 - Bản sửa đổi: 4.0

Microsoft Visual C++ 2008 Express Edition, Microsoft Visual C++ 2005 Express Edition, Microsoft Visual C++ .NET 2003 Standard Edition, Microsoft Visual C++ .NET 2002 Standard Edition

  • kbinfo kbmt KB326922 KbMtvi
Phản hồi