2009-04-27 29 views
5

Tôi có một ứng dụng ClickOnce (app1) gọi các tệp DLL từ một giải pháp khác (app2). Gần đây tôi đã cập nhật ứng dụng này tại một khách hàng và một điều kỳ lạ đã xảy ra..NET ClickOnce triển khai và lắp ráp sai được gọi sau phiên bản cập nhật

Ông có phiên bản mới (công bố phiên bản là đúng trong Control Panel/Add or Remove Programs) của app1 và phiên bản ứng dụng là đúng như tự kiểm tra trong ứng dụng. Nhưng các tệp DLL được gọi từ giải pháp tham chiếu (app2) vẫn là các tệp cũ.

Chúng tôi đã xóa tất cả các tệp trong C:\Documents and Settings\username\Local Settings\Apps\2.0 và được cài đặt lại. Thời gian này không có vấn đề, các tập tin DLL chính xác được gọi.

Một điều cần đề cập đến là những con số phiên bản là hoàn toàn khác nhau trong phiên bản mới kể từ khi chúng tôi thay đổi điều này trong khi nâng cấp từ Visual Studio     2005 Visual Studio     2008. Cũ/phiên bản xuất bản mới: 1.0.0.6/1,9 .1.6.

+0

Chúng tôi cũng đã thấy điều này! Trong trường hợp của chúng tôi đó là dll trong cùng một giải pháp cho một số lý do được gọi là cũ - và đoán những gì đã xảy ra khi chúng tôi thay đổi API của dll đó ... Không biết tại sao, nhưng người dùng thường có ứng dụng một thời gian và hoàn thành một vài cập nhật. Xóa thư mục 2.0 luôn sửa mọi thứ. – andyhammar

Trả lời

3

Dường như đây là lỗi trong .NET Framework 3.5 SP1.

http://support.microsoft.com/default.aspx/kb/971052

tôi cố định nó bằng cách:

  1. Xoá .NET trực tuyến bộ nhớ cache từ một dấu nhắc lệnh: “rundll32 dfshim CleanOnlineAppCache”
  2. Hủy bỏ cài đặt tất cả các NET-ứng dụng mà có thể có một tài liệu tham khảo cho cùng một hội đồng có vấn đề.
  3. Cài đặt lại tất cả các ứng dụng.
+0

Liên kết (hiệu quả) bị hỏng. –

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