Dự án được tham chiếu bị "mất" tại Thời gian biên dịch


102

Tôi có một giải pháp C # với hai dự án: một dịch vụ (dự án chính) và một trình ghi nhật ký. Dịch vụ sử dụng các lớp từ trình ghi nhật ký. Tôi đã thêm một Tham chiếu vào dự án ghi nhật ký trong dự án dịch vụ. Tại thời điểm thiết kế, tính năng tự động hoàn thành hoạt động tốt: các lớp của trình ghi nhật ký hiển thị, các tham chiếu mà tôi sử dụng được tô màu phù hợp.

Tôi xây dựng lại giải pháp, và mọi thứ diễn ra sai. Các tham chiếu không còn được nhận dạng: "Tên 'Ghi nhật ký' không tồn tại trong ngữ cảnh hiện tại" và các lớp không còn tồn tại trong chế độ tự động hoàn thành. Việc xóa và gắn lại tham chiếu sẽ đưa tôi trở lại trạng thái cơ bản là hiển thị số nhận dạng để tự động hoàn thành.

Tôi đã khởi động lại, xóa tất cả các bộ nhớ đệm, đảm bảo rằng đây là phiên bản duy nhất của VS 2010 chạy trên máy của tôi.

Có điều gì đó hiển nhiên (rõ ràng) mà tôi đang thiếu?

Câu trả lời:


158

Kiểm tra các loại xây dựng của bạn của từng dự án trong thuộc tính dự án - tôi cá rằng cái này hay cái kia sẽ được thiết lập để xây dựng chống lại .NET XX - Client Profile.

Với các phiên bản không nhất quán, cụ thể là với bản thể này Client Profilevà bản thể khác không, thì nó hoạt động tại thời điểm thiết kế nhưng không thành công tại thời điểm biên dịch. Một gotcha thực sự.

Có một điều gì đó buồn cười đang xảy ra trong Visual Studio 2010 đối với tôi, nó liên tục thiết lập các dự án dường như ngẫu nhiên Client Profile, đôi khi khi tôi tạo một dự án và đôi khi là vài ngày sau đó. Có thể là một số phím tắt tôi vô tình nhấn ...


1
Tôi cá là bạn đúng ... và thật xấu hổ cho tôi nếu vậy vì không nhớ câu hỏi có thể so sánh này mà tôi đã hỏi vào tháng trước! stackoverflow.com/questions/3991361/…
Bob Kaufman,

6
@Bob Nó liên tục xảy ra với tôi, và giống như bạn có câu hỏi trước đó, mỗi lần nó xảy ra, trong ít nhất vài phút, tôi hoàn toàn bối rối bởi toàn bộ sự việc cho đến khi tôi nhớ ra "Oooooh, chờ đã, Khách hàng ** ** ing Hồ sơ "
joshcomley

4
Tôi cũng gặp sự cố này với VS2012. Hóa ra không phải là vấn đề Hồ sơ khách hàng, mà là dự án được tham chiếu ở phiên bản 4.5 và dự án mới được tham chiếu đã được đặt mặc định là 4.0. Bumped rằng một đến 4,5 và sự cố đã biến mất. Cùng một giải pháp thực sự, chỉ là một biến thể khác.
Brad Mathews

Điều này đã xảy ra với tôi gần đây trong VS 2013. Dự án là 4.5 mặc định nhưng một trong những thư viện được xây dựng trên 4.5.2. Nếu dự án là 4.5.2 và một trong các thư viện là 4.5 hoặc 4.5.1 thì nó sẽ hoạt động. Nhưng không phải ngược lại.
ahwm

4

Đảm bảo rằng cả hai dự án đều có cùng phiên bản khung mục tiêu tại đây: nhấp chuột phải vào dự án -> thuộc tính -> ứng dụng (tab) -> khung mục tiêu

Ngoài ra, hãy đảm bảo rằng "trình ghi nhật ký" của dự án (mà bạn muốn đưa vào dự án chính) có kiểu đầu ra "Thư viện lớp" trong: nhấp chuột phải vào dự án -> thuộc tính -> ứng dụng (tab) -> loại đầu ra

Cuối cùng, Xây dựng lại giải pháp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.