2011-01-26 29 views
10

Bối cảnh:VS2010 hội tham khảo giữa các dự án thất bại

Tôi có 3 dự án trong các giải pháp của tôi (C#, .NET 4.0):

  • Abc.Business (dự án DLL)
  • Abc.Test (Test dự án)
  • Abc.Ui (dự án WPF)

  • Abc.Bu siness là logic kinh doanh của tôi. Nó chứa các thực thể, quản lý, dịch vụ, vv

  • Abc.Test có một tham chiếu dự án trên Abc.Business và là đơn vị kiểm tra. Chúng hoạt động tốt.
  • Abc.Ui có một tham chiếu dự án trên Abc.Business

Abc.Ui là không thể giải quyết tất cả các using Abc.Business; Nhật ký lỗi cho thấy:

Lỗi Loại hoặc tên không gian tên 'Doanh nghiệp' không tồn tại trong không gian tên 'Abc' (bạn có thiếu tham chiếu lắp ráp không?) c: \ Abc \ Abc.Ui \ ViewModels \ ClientViewModel.cs

Ngoài ra, khi tôi nhập thủ công using vào đầu tệp của mình, ý nghĩa Intelli cho tôi biết "Abc.Business.etc ..". Vì vậy, Intelli-sense đi bộ trong tài liệu tham khảo nhưng không xây dựng.

Bất kỳ ý tưởng nào?

+0

Bạn đã làm sạch giải pháp của mình rồi cố gắng xây dựng? Thông thường giúp. – Bernard

+0

Nhìn kỹ trong trình khám phá giải pháp. là ref có ở tất cả, những gì biểu tượng hiện nó hiển thị? –

+0

@Bernard: có nhiều lần .. –

Trả lời

15

Cảm ơn bạn GrhmHenk Holterman đã chỉ cho tôi giải pháp Kiến trúc. Trên thực tế, nó không phải là vấn đề, nhưng nó làm cho tôi tìm thấy nó. Vấn đề là mục tiêu khung. Dự án Ui, theo mặc định, nhắm mục tiêu một Khuôn khổ .NET 4.0 với một hồ sơ "Khách hàng". Tiểu sử này không thể tham chiếu hồ sơ không phải khách hàng. Tôi thấy rằng trong cửa sổ Debug Output Window không đủ dùng. (Tôi đang sử dụng để tìm trong các Lỗi danh sách thay vì)

Đây là những gì các lỗi hiển thị:

c: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (1360,9): cảnh báo MSB3253: Các tham chiếu lắp ráp "C: \ Abc \ Abc.Business \ bin \ Debug \ Abc.Business.dll" không thể được giải quyết bởi vì nó có một sự phụ thuộc vào "System.Web, Phiên bản = 4.0. 0.0, Văn hóa = trung lập, PublicKeyToken = b03f5f7f11d50a3a "không nằm trong khung được nhắm mục tiêu hiện tại" .NETFramework, Phiên bản = v4.0, Tiểu sử = Khách hàng ". Vui lòng xóa tham chiếu đến các hội đồng không nằm trong khung được nhắm mục tiêu hoặc xem xét việc nhắm mục tiêu lại dự án của bạn.

Tôi thay đổi Cấu hình thành hoạt động bình thường (không có gì) và BOOM hoạt động. Here's the MSDN page về nó

Xin cảm ơn một lần nữa cho các bạn thời gian của bạn.

+1

Tôi đã có điều này gần đây và câu trả lời là hơi khác nhau. Cùng một lỗi xảy ra ngày hôm nay và điều này giải quyết nó cho tôi. Cảm ơn :) – dooburt

+1

cảm ơn vì điều đó. Đã dành 2 giờ tìm kiếm một giải pháp! Hầu như trên bờ vực tuyệt vọng – matcheek

+0

Đó là một niềm vui thực sự để giúp đỡ! –

0

Bạn đã thêm Tài liệu tham khảo vào dự án Abc.Business vào dự án Abc.Ui chưa? Bạn có thể làm điều đó bằng cách kích chuột phải vào mục References in Abc.Ui, chọn Add Reference, và vào tab Projects. và chọn Abc.Business.

+0

Có Ui có một tài liệu tham khảo dự án về Kinh doanh. Cảm ơn gợi ý. –

3

Tôi sẽ gặp sự cố nếu có sự không tương thích giữa hai thiết bị.

Một lời khuyên vài/ý tưởng:

  • loại bỏ các tài liệu tham khảo và Thêm một lần nữa, như một tham chiếu đến một dự án
  • Rebuild giải pháp và kiểm tra các thông báo lỗi
  • séc Platform (phiên bản). Có lẽ giao diện người dùng là nền tảng Máy khách và lớp Biz sử dụng nền tảng đầy đủ.
4

Tôi gặp vấn đề như thế này khi chúng tôi có sự không nhất quán trong trình quản lý cấu hình. (Truy cập thông qua menu Build).

Chúng tôi đã có một số dự án xây dựng phiên bản x86, một số phiên bản x64 và trình quản lý cấu hình có "Nền tảng giải pháp" cho "CPU bất kỳ" và "Bộ xử lý hỗn hợp".

Tôi tin rằng chúng tôi có "Doanh nghiệp" được xây dựng như thư viện x86 và "Giao diện người dùng" của chúng tôi dưới dạng x64 (hoặc ngược lại), nghĩa là nó không thể tìm thấy lắp ráp (cho đúng kiến ​​trúc) và đưa ra lỗi bạn đang nhìn thấy, nhưng intelisense vẫn làm việc như nó đã được nhìn vào nguồn.

Tôi khuyên bạn nên xem xét nền tảng dự án và nền tảng giải pháp của bạn và làm sạch bất kỳ sự kỳ quặc nào.

+0

Bạn chỉ một điểm liên tục. Trong trình quản lý cấu hình của tôi, mọi dự án đều nằm trong "CPU bất kỳ" ngoại trừ Abc.Ui. Tôi đang thử cấu hình khác nhau bây giờ .. –

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