Chúng tôi đã phát triển một giải pháp lớn chứa ~ 35 dự án với VS 2010, hiện tại chúng tôi đang nghĩ đến việc chuyển sang VS 2012 Ultimate. Tôi đã chuyển đổi tệp giải pháp thành VS 2012 và nói chung, mọi thứ hoạt động tốt.Visual Studio 2012: Dự án không thể tham chiếu
Nhưng bất cứ khi nào tôi mở giải pháp, tôi nhận được một số cảnh báo về một dự án Một số trong các giải pháp: "Dự án X không thể được tham chiếu" "Dự án Y có thể không được tham chiếu" ... trong đó A có dự án-tham chiếu đến X và Y. Khi tôi xây dựng các giải pháp, tôi nhận được lỗi rằng Metadata của từng DLL tương ứng không thể được tìm thấy.
Khi tôi xem các tham chiếu trong trình khám phá giải pháp, chúng được đánh dấu bằng ký hiệu cảnh báo màu vàng. Ngay sau khi tôi chỉ cần nhấp vào tham chiếu, cảnh báo sẽ biến mất và biểu tượng trông bình thường. Sau đó, tôi có thể xây dựng mà không có lỗi!
Sự cố xảy ra mỗi khi tôi mở giải pháp, các dự án bị ảnh hưởng luôn giống nhau.
Có ai khác trải nghiệm hành vi kỳ quặc này không? Việc xóa và thêm lại tham chiếu dự án không giúp được gì ...
Cảm ơn bạn trước.
EDIT: Tôi đã kiểm tra tệp csproj của dự án tham chiếu và tôi tự hỏi rằng tất cả tham chiếu dự án GUID có vấn đề ở trên được viết thường, các dự án khác được viết hoa.
<ProjectReference Include="..\Presentation.Net\Presentation.Net.csproj">
<Project>{04004c6b-76c8-4f2d-9fcf-5a866bb80fd4}</Project>
<Name>CMS.Presentation.Net</Name>
</ProjectReference>
Trong khi trong giải pháp GUIDs được uppercased:
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Presentation.Net", "Presentation.Net\Presentation.Net.csproj", "{04004C6B-76C8-4F2D-9FCF-5A866BB80FD4}"
Bất kỳ ý tưởng?
Phần tham chiếu có cùng giải pháp không? Có thể làm gì với một giải pháp sạch, với những dự án không có sẵn cho đến khi xây dựng xong? –
Các dự án được tham chiếu nằm trong cùng một giải pháp như dự án tham chiếu. Dù sao tôi không bao giờ có những vấn đề với VS10 và cấu trúc giải pháp đã không thay đổi kể từ đó. Làm sạch dung dịch không hiệu quả. – mbue
Hãy cố gắng tránh gọi VS2012 chỉ VS12. Điều này trái ngược với vấn đề mà mọi người gọi nó (trong khi đó là bản Beta) VS2011, bởi vì nó là số phiên bản * là * 11. Vì vậy, nếu/khi có V.Next của Visual Studio, có khả năng (trong khi đó Beta) được gọi là Visual Studio 12. –