Có cách nào để buộc sử dụng phiên bản dll cụ thể không? từ app.config?Có cách nào để buộc sử dụng phiên bản dll không?
(hậu trường) Chúng tôi đang sử dụng SQL Compact 3.5 và không thể vì lý do kinh doanh (yea, tôi biết) chuyển sang SQL Compact 3.5 SP1 cho thời điểm này. Chúng ta có System.Data.SqlServerCe và tất cả các dlls không được quản lý trong thư mục build của chúng ta, nhưng nếu SP1 được cài đặt, ứng dụng sẽ tải lên và sử dụng dll được quản lý SP1 (và mở rộng, tôi cũng giả sử các file không được quản lý).
Số phiên bản của dll pre-sp1 là 3.5.0.0, phiên bản sp1 là 3.5.1.0
tôi đã thiết lập các tham chiếu đến System.Data.SqlServerCe để CopyLocal = true và cụ thể Phiên bản = đúng, nhưng nó vẫn sử dụng phiên bản SP1, ngay cả khi phiên bản pre-sp1 nằm trong thư mục build của chúng tôi (giả sử nó sử dụng một từ GAC). Tôi đã thử thêm các tài liệu tham khảo từ GAC, cũng như tự đi vào hệ thống tập tin và tham khảo dll trực tiếp.
(chỉ để làm cho nó rõ ràng, khách hàng đang cài đặt gói dịch vụ cho các phần mềm khác mà cần nó, nhưng chúng ta cần phải vẫn chạy phiên bản pre-sp1 ngay cả khi gói dịch vụ được cài đặt)
Có cách để buộc. Net để sử dụng một trong chúng tôi có trong thư mục xây dựng của chúng tôi?
UPDATE:
tôi đặt một ghi đè trong cấu hình ứng dụng như this question, nhưng chạy người xem log lắp ráp ràng buộc mang lại cho tôi điều này:
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Projects\ConsoleApplication11\bin\Debug\ConsoleApplication11.exe.Config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
LOG: Redirect found in application configuration file: 3.5.0.0 redirected to 3.5.0.0.
LOG: Publisher policy file is found at C:\Windows\assembly\GAC_MSIL\policy.3.5.System.Data.SqlServerCe\3.5.0.0__89845dcd8080cc91\publisher.config.
LOG: Publisher policy file redirect is found: 3.5.0.0 redirected to 3.5.1.0.
LOG: ProcessorArchitecture is locked to MSIL.
LOG: Post-policy reference: System.Data.SqlServerCe, Version=3.5.1.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL
LOG: Found assembly by looking in the GAC.
LOG: Binding succeeds. Returns assembly from C:\Windows\assembly\GAC_MSIL\System.Data.SqlServerCe\3.5.1.0__89845dcd8080cc91\System.Data.SqlServerCe.dll.
LOG: Assembly is loaded in default load context.
Dường như cấu hình cho 3.5. 1 lắp ráp trong GAC là ghi đè nó. Bất kỳ cách nào để buộc các vấn đề từ app.config của tôi?
Không, chúng tôi đang tham khảo 3.5.0.0. Máy chủ đang ở trước sp1, đó là sự cố, vì các lần sao chép bằng cách sử dụng máy khách sp1 và máy chủ trước sp1 (nâng cấp máy chủ sẽ xảy ra, chỉ trong vài tháng tới - băng đỏ và tất cả những thứ đó) – Gareth