2012-01-03 27 views
11

Chúng tôi có tệp SQL là tài nguyên được nhúng trong giải pháp của chúng tôi. Khi tệp sql thay đổi và chúng tôi nhấp vào gỡ lỗi, giải pháp không xây dựng lại dự án bằng tài nguyên được nhúng nếu không có mã C# thực tế nào thay đổi.Bắt buộc xây dựng lại Visual Studio trên tài nguyên được nhúng

Tôi đã gặp sự cố này với các giải pháp khác miễn là tôi có thể nhớ và cá nhân tôi biết xây dựng Giải pháp để đảm bảo nó được xây dựng ... nhưng điều này đã trở thành vấn đề đối với một số nhà phát triển mới không thể nhớ để làm điều này và bị nhầm lẫn khi thay đổi của họ vào tập tin SQL không được phản ánh tại thời gian gỡ lỗi ... vì vậy tôi đã tự hỏi nếu có ai biết một sửa chữa dễ dàng.

+0

bạn đang nhúng gì liên quan đến tài nguyên SQL ..? có lẽ đây có thể là vấn đề .. bạn có thể đưa ra lời giải thích chi tiết hơn không ...? – MethodMan

+0

đang có 'tệp SQL' như tài nguyên được nhúng là một tùy chọn bắt buộc? Ý tôi là, nếu nó sẽ là một tệp riêng biệt, có một workarround, để sao chép tệp đó thành công xây dựng với 'xcopy', bằng cách xác định nó bên trong' thuộc tính dự án'. – Tigran

+0

Tài nguyên được nhúng là cần thiết. Nó được đóng gói thành một assembly hành động tùy chỉnh được sử dụng bởi một trình cài đặt để chạy các kịch bản di trú. Cùng một hội đồng được sử dụng trong chế độ gỡ lỗi của ứng dụng để đảm bảo rằng DB họ đang chạy chống lại được cập nhật. – Jeff

Trả lời

3

Sửa chữa dễ nhất là "xây dựng lại" thay vì "xây dựng". Những người khác sẽ "sạch" và sau đó "xây dựng" để chắc chắn 100%.

Tài nguyên nhúng không được cập nhật trong các tệp DLL gỡ lỗi trừ khi tệp DLL đầu ra bị cắt bớt, chỉ có thể được đảm bảo xảy ra khi xây dựng lại và làm sạch.

+1

Xây dựng lại được định nghĩa để làm sạch rồi xây dựng; không có an toàn hơn trong việc làm sạch rõ ràng (có lẽ khác hơn là chắc chắn rằng bạn nhấn nút phải/phím-combo) –

0

Thật không may, việc làm sạch và xây dựng lại dường như không phải lúc nào cũng hoạt động đối với các tệp tài nguyên. Vấn đề của tôi là với một tập tin tài nguyên chuỗi, và làm thế nào tôi cố định là như sau trong VS2016:

  1. Đóng Resx và designer.cs nếu họ được mở trong IDE
  2. Xóa designer.cs lớp (nhấn chuột phải, xóa trong solution explorer)
  3. Double click resx nộp trong solution explorer để mở
  4. Nếu cần, thay đổi 'Access Modifier' từ 'công' thành 'Không Code Generation', và lưu
  5. thay đổi 'Trình sửa đổi truy cập' từ 'Không tạo mã' thành 'Công khai' và lưu => mã .Designer.cs sau đó sẽ cập nhật
0

Tôi đã gặp vấn đề tương tự với VS2017.

Đây là những gì làm việc cho tôi:

  1. Mở file resx. Hãy chắc chắn rằng bạn đang ở trong trình biên tập Resource, không sử dụng một trình soạn thảo XML vì đôi khi thay đổi done sẽ không kích hoạt các thế hệ của Designer.cs
  2. Hãy chắc chắn rằng Designer.cs không mở cửa .
  3. làm một sự thay đổi nhỏ, tiết kiệm
  4. Hoàn tác thay đổi, lưu
Các vấn đề liên quan