2012-04-08 26 views

Trả lời

5

Lỗi này xảy ra khi bạn sao chép và dán biểu mẫu trong ngăn 'Trình khám phá giải pháp'. Sau đó, bạn thay đổi tên của một biểu mẫu. Visual studio cung cấp cùng tên cho cả hai và sau đó, khi bạn đổi tên biểu mẫu, Visual Studio làm một số refactoring cho bạn và đổi tên lớp thiết kế cho cả hai hình thức (không chỉ cho mới).

Bạn có thể khắc phục điều này theo hai cách:

  1. Đóng Microsoft Visual Studio, sau đó duyệt đến thư mục dự án của bạn từ chương trình bên ngoài (ví dụ: Total Commander.). Vào thư mục chứa cả hai biểu mẫu, bạn có thể xem tệp .cs và .Designer.cs của biểu mẫu. Mở tệp .cs và .Designer.cs cho biểu mẫu của bạn trong trình chỉnh sửa văn bản. Tìm và thay thế mọi phiên bản của tên biểu mẫu gốc bằng tên mới. Và nếu bạn đổi tên đã đổi tên một số tài nguyên, hãy kiểm tra tệp cho biểu mẫu ban đầu cũng (nếu chúng chỉ là tên biểu mẫu ban đầu nhưng không phải bất kỳ tên nào cho tên biểu mẫu mới). Sau đó lưu tất cả các tệp, khởi động Microsoft Visual Studio và xây dựng lại dự án của bạn.

  2. Bạn có thể thử chcek và đổi tên khai báo cho mỗi lần xuất hiện tên biểu mẫu gốc trong tệp .cs và .Designer.cs mới nhưng thử vô hiệu hóa cấu trúc lại. Nếu bạn đã đổi tên thành hình thức mới, trong designer.cs cho hình thức cũ bạn có thể thấy điều này:

    namespace YourProjectNamespace 
    { 
        partial class NewFormName 
        { .. } 
    

    Bạn phải đổi tên NewFormName để OldFormName và khi Visual Studio cung cấp cho bạn một menu refactoring (hình chữ nhật reg nhỏ trước khi lá thư cuối cùng của đổi tên đối tượng) không làm gì cả.

0

bạn không thể thêm vào tệp tài nguyên 2 mục có cùng tên/khóa. nó phải là duy nhất

enter image description here

+0

đây mọi thứ ok – Abe

+1

tải lên màn hình in của bạn –

+1

@Abe: bạn không nên chỉnh sửa câu trả lời để cố gắng đáp ứng - tôi chuyển hình ảnh của bạn vào câu hỏi của bạn, nơi mà nó có ý nghĩa hơn. Cảm ơn. – sarnold

0

Kiểm tra các tập tin * Resx trong dự án của bạn như @Royi Namir mô tả.

Trong trường hợp bạn đã thực hiện điều đó: hãy kiểm tra các tệp .resx.designer. Một số chương trình "tối ưu" các tập tin thiết kế.

Các tệp thiết kế đơn giản chỉ là xml. Nếu chúng không đồng bộ với xml tương ứng, bạn sẽ nhận được một ngoại lệ như được mô tả.

2

Điều này xảy ra với tôi khi tôi tạo một lớp biểu mẫu một phần. Khi tôi vô tình xem nó trong chế độ thiết kế nó tạo ra một tập tin resx bản địa hóa cho các hình thức một phần mới. Tôi đã xóa tệp resx đó và giải quyết nó.

0

Tôi có cùng một vấn đề, và tôi có thể giải quyết nó bằng các bước sau:

  • Right-Click to your form name dụ: MainForm
  • To Review: Select Find All References bây giờ bạn sẽ thấy danh sách các hình thức xung đột có thể
  • To Fix: Select Refactor -> Rename-
  • Select Preview reference changes
  • Rename it Differently
  • Un-checked for the Conflict Form/class
Các vấn đề liên quan