5

Tôi có một ứng dụng .NET mà tôi muốn cài đặt trên máy ảo cho các mục đích gỡ lỗi từ xa.Cài đặt MS debug DLLs để gỡ lỗi từ xa

Ứng dụng sử dụng VC++ DLL gốc liên kết tới MFC và thư viện thời gian chạy MSVC qua DLL.

Khi tôi chạy phụ thuộc vào máy ảo, nó nói rằng DLL cần DLL sau:

mfc90d.dll  
msvcm90d.dll  
msvcp90d.dll  
msvcr90d.dll  
msjava.dll 

Ngoài ra, nó báo cáo các lỗi sau:

Error: The Side-by-Side configuration information for [dll path] contains errors. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem (14001).

tôi không muốn phải cài đặt Visual Studio 2008 hoàn chỉnh trên máy ảo chỉ để gỡ lỗi này.

Phương pháp tốt nhất để cài đặt các DLL bắt buộc vào VM là gì?

Trả lời

4

Các tệp DLL gỡ lỗi được cung cấp trong thư mục con vc \ Debug_NonRedist. Triển khai đúng cách chúng được giải thích trong số MSDN Library article này.

+0

Cách dễ nhất là sao chép các tệp DLL ngay bên cạnh ứng dụng của bạn (trong cùng thư mục với tệp thực thi). Không còn vấn đề nữa :) –

2

Có/là lỗi trong vs2008 sau bản cập nhật SP1, nơi các phiên bản tệp kê khai không được cập nhật. Để làm được việc này tôi phải làm điều này trên máy từ xa:

chỉnh sửa Microsoft.VC90.DebugCRT.manifest thay đổi version = "9.0.30729.4148" để version = "9.0.21022.8"

chỉnh sửa Microsoft.VC90.DebugMFC.manifest

thay đổi phiên bản = "9.0.30729.4148" để version = "9.0.21022.8"

[cập nhật] Trong tìm kiếm một tài liệu tham khảo cho này tôi thấy

Important: If you do this with Visual Studio 2008 SP1, make sure you put the following in your precompiled header:

#define _BIND_TO_CURRENT_VCLIBS_VERSION 1

http://qualapps.blogspot.com/2008/07/visual-studio-2008-c-redistributable.html

0

Có thể cài đặt gỡ lỗi các file phân phối cho VC++. Microsoft thậm chí cung cấp cho họ cho bạn. Bạn chỉ cần phải ở lại rõ ràng của những người được tìm thấy trong thư mục system32 khi họ không làm việc bằng cách chỉ cần sao chép chúng sang một máy khác.

Kiểm tra blog này: http://wdy501.blogspot.com/2010/07/dealing-with-visual-studio.html

Và tôi đã sử dụng blog để tìm ra dlls debug cho VS 2012 và đã thành công trong sao chép chúng sang máy khác và chạy một phiên bản sửa lỗi. Chỉ cần lưu ý rằng MS đặt các tệp "debug_nonRedist" trong cấu trúc thư mục có nhãn "Microsoft Visual Studio 11.0". Dưới đây là đường dẫn đầy đủ tôi thấy dlls CRT debug tôi cần:

C: \ Program Files (x86) \ Microsoft Visual Studio 11.0 \ VC \ redist \ Debug_NonRedist \ x86 \ Microsoft.VC110.DebugCRT

Các chỉ lợi ích tôi thấy cho bản thân mình trong việc sử dụng các phiên bản gỡ lỗi là tôi có thể ở chế độ gỡ lỗi trên máy tính đang phát triển của mình và nhanh chóng lấy mã qua một máy tính khác để thử nghiệm trong một môi trường hơi khác. Tôi thấy không có lý do chính đáng để sử dụng một phiên bản gỡ lỗi trong bản phát hành cuối cùng.

Các vấn đề liên quan