2013-06-06 40 views
8

Khi tôi gỡ lỗi dự án Xamarin.iOS của mình khỏi Visual Studio, nó xây dựng, cài đặt trên trình mô phỏng và khởi chạy ứng dụng mà không gặp sự cố. Nhưng khi khởi chạy, tôi thấy một loạt các Debug truy tìm từ một phương thức mà thậm chí không tồn tại trong mã C# của tôi nữa. Tôi cũng có thể thiết lập các điểm ngắt trên lớp mà từ đó tôi đã loại bỏ phương thức ở cùng một số dòng mà phương thức này từng sử dụng, và tôi sẽ thấy phương thức đã loại bỏ trong ngăn xếp cuộc gọi khi trình gỡ lỗi dừng lại.Xamarin iOS Simulator chạy mã cũ

Tôi đã đóng và mở lại Visual Studio, đặt lại kết nối với máy chủ Mac build, làm sạch và xây dựng lại giải pháp của tôi và xóa thủ công kết quả giải pháp. Trên máy Mac, tôi đã đóng và mở lại trình mô phỏng và thử Đặt lại nội dung và cài đặt, tính năng này sẽ xóa ứng dụng. Nhưng tình hình vẫn tồn tại, ngay cả sau tất cả. Có cách nào khác tôi có thể thử trên Mac để đảm bảo rằng tất cả các bản sao đã lưu trong bộ nhớ cache của mã cũ đã bị xóa không?

Trả lời

7

Trong thư mục dự án của bạn, xóa các thư mục bin và obj. Điều này làm việc cho tôi nhưng vẫn còn gây phiền nhiễu.

+1

Điều này gần nhất với những gì dường như đã làm việc cho tôi cho đến nay - bằng tay làm một Xây dựng lại dự án sau khi thực hiện thay đổi. Tôi cũng nhận thấy rằng nếu bạn thay đổi dự án A và dự án B phụ thuộc vào dự án A, tôi phải xây dựng lại A, sau đó xây dựng lại B. –

+0

Tôi đang gặp vấn đề tương tự nhưng ở phía Android, rõ ràng là đang chạy mã cũ mặc dù Tôi đã thử xây dựng lại/xóa/xóa bin/obj/restarting xamarin studio/khởi động lại máy tính của tôi. Đưa cái gì?? – Justin

+0

Tôi có cùng một vấn đề, có cách nào khác ngoài việc xóa thư mục bin và obj mỗi lần không? –

2

Trong Trình mô phỏng iOS (trên máy Mac), hãy nhấp vào mục nhập "Đặt lại nội dung và cài đặt" trong menu chính.

+0

Cảm ơn, nhưng tôi đã thử ... câu hỏi được cập nhật để thực sự nói như vậy. –

+0

Có vẻ như Đặt lại nội dung và cài đặt chỉ ảnh hưởng đến trường hợp trình mô phỏng hiện đang chạy, ví dụ: iPhone5, nhưng không phải của iPhone6 ​​ –

+0

@PurpleLagoon: đúng vậy, mỗi trình mô phỏng hoàn toàn riêng biệt. Xem này: http://stackoverflow.com/q/15365179/183422 –

1

Vâng điều này đã làm việc với dự án Android của tôi bị cùng một vấn đề:

  1. Nhấp chuột phải vào dự án Android sau đó chọn "Properties".
  2. Chọn "Tùy chọn Android" rồi chọn "Đóng gói".
  3. Bỏ chọn tùy chọn "Sử dụng thời gian được chia sẻ".

sau đó nó làm việc bình thường

1

Kiểm tra Configuration Manager của bạn (thả xuống với Debug, phát hành vv) và kiểm tra xem tất cả các dự án đang được xây dựng. Nó thường bỏ chọn tất cả các dự án bạn đang làm việc với một số lý do không rõ.

Điều này có nghĩa là nó không xây dựng lại tất cả các dự án và do đó cho thấy một phiên bản cũ.

Theo nhận xét của bạn về việc xây dựng lại từng dự án, đây là dấu hiệu cổ điển của các dự án không được kiểm tra để được xây dựng khi chạy và tại sao bạn phải thực hiện thủ công.

0

Trong trường hợp của tôi, tôi đã để cho phép tất cả các kiến ​​trúc:

  • thuộc tính dự án Android
  • Andrid Oprions
  • Mục Anvanced Tab
  • Chọn tất cả kiến ​​trúc và xây dựng lại
1

tôi đã một vấn đề tương tự (mặc dù trên giả lập Android).

không làm việc cho tôi:

  • khởi động lại máy tính
  • khởi động lại Visual Studio
  • xóa bin/obj thư mục
  • đi vào Configuration Manager (debug/release/Cấu hình Người quản lý) và đánh dấu mọi thứ ở đó - mọi thứ đã được đánh dấu
  • thay đổi phiên bản của ứng dụng trong tệp kê khai

Điều gì làm việc cho tôi?

Gỡ cài đặt ứng dụng khỏi trình giả lập rồi chạy lại Debug. Đó là trình giả lập Android, vì vậy tôi đã gỡ cài đặt bằng cách nhấp vào biểu tượng ứng dụng và holidng trong thời gian dài rồi kéo nó vào "Gỡ cài đặt ứng dụng". Trên trình mô phỏng iOS, nó sẽ tương tự.

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