Sau khi tìm kiếm Google trong nhiều ngày, cuối cùng tôi đã tìm ra giải pháp cho vấn đề này và thổi một nhà phát triển VS, người đã giải quyết vấn đề này (thực ra, tôi đã thử một vài thứ khác nhau để tìm). Rõ ràng, IDE không đủ thông minh để tìm ra rằng bạn đã vô hiệu hóa việc xây dựng cho một thư viện cụ thể theo một cấu hình nhất định và không thêm đầu ra của dự án đó vào dòng lệnh của trình liên kết cho các dự án phụ thuộc vào nó. Tôi chắc chắn rằng bạn nhận thức được điều này.
Tuy nhiên, vì nó chỉ dán dòng đầu ra từ dự án thư viện vào dòng lệnh của dự án phụ thuộc, thiết lập dòng đầu ra thành "" sẽ dẫn đến NOTHING được thêm vào dòng lệnh liên kết trên các dự án phụ thuộc!
Hy vọng rằng, sự cố này sẽ được khắc phục trong Visual Studio trong tương lai. Tôi vẫn lạc quan, bởi vì nó là IDE yêu thích của tôi, và tôi luôn ấn tượng bởi các tính năng mà nó hỗ trợ. Tuy nhiên, một số chủ đề trợ giúp VS mà tôi đã thấy nói rằng lỗi này là "do thiết kế", vì vậy có thể họ sẽ không khắc phục được. Dường như nó có vẻ dễ dàng để làm.
Anyways, để tóm tắt:
- Right-Click vào dự án thư viện của bạn trong Solution Explorer và nhấp "Properties".
- Chuyển sang cặp "Cấu hình/Nền tảng" mà dự án thư viện của bạn không xây dựng cho.
- Chọn "Thuộc tính cấu hình -> Thư viện -> Chung".
- Đối với "Tệp đầu ra", nhập "" (đó là dấu ngoặc mở, không gian, dấu đóng).
- Nhấp vào OK.
Xin lưu ý rằng cách giải quyết này sẽ cung cấp cho bạn các lỗi nếu bạn xây dựng hoặc xóa dự án thư viện bị vô hiệu hóa. Nếu bạn chỉ xây dựng giải pháp của mình, giải pháp sẽ bị bỏ qua trên cấu hình bị tắt, vì vậy bạn sẽ không gặp lỗi.
Hy vọng điều này sẽ hữu ích!
Daniel
Cảm ơn, điều này thật tuyệt! Một điều nữa: Nếu sự phụ thuộc mà bạn đang liên kết xảy ra là một .dll, bạn cũng có thể đặt tên của Thư viện nhập thành "" và nó sẽ bị bỏ qua. Tùy chọn này nằm trong Linker-> Advanced-> Import Library. – k0dek0mmand0