2016-11-26 24 views
6

Tôi đang viết một hàm Azure đang sử dụng 2 gói nuget (A và B) từ nguồn cấp dữ liệu cá nhân của tôi. Gói A sử dụng phiên bản Dapper 1.50.2 trực tiếp và gói B sử dụng Dapper.SimpleCrud 1.13.0 có phụ thuộc vào phiên bản Dapper [1.42.0, 2.0.0).chức năng xanh với gói nuget có các phiên bản khác nhau của cùng một sự phụ thuộc

Trong chức năng Azure tôi đã thêm project.json nơi tôi chỉ định gói A và B và các phiên bản của chúng.

Khi tôi xem các gói đã cài đặt trong hàm azure, tôi thấy Dapper 1.42.0 và 1.50.2 đều được cài đặt. khi tôi cố gắng gọi các phương thức trong gói A và B, tôi gặp lỗi trên nhật ký hàm của hàm azure nói rằng nó không thể tìm thấy phiên bản Dapper 1.40. (tùy thuộc vào cách tôi đặt project.json của mình, nó sẽ là Dapper 1.40 hoặc 1.50 mà không được Azure Function tìm thấy)

Tôi đã tạo một phiên bản thử nghiệm của gói Dapper.SimpleCRUD nơi phụ thuộc vào người lập bản đồ là từ [ 1.50.2, 2.0.0) và mọi thứ đều hoạt động.

Tôi cũng đã cố gắng thêm Dapper 1.50.2 vào project.json với hy vọng rằng nó sẽ được Dapper.SimpleCRUD sử dụng, nhưng nó vẫn có vẻ như kéo trong Dapper 1.42.

Có một số cài đặt mà tôi thiếu trên Azure Functions để cho phép thiết lập này hoạt động hoặc đây có phải là hạn chế về quản lý gói Azure Function không?

Cảm ơn bạn đã trợ giúp bạn có thể cung cấp.

+0

Điều này có vẻ là vấn đề chung với chức năng Azure và .NET, vẫn được theo dõi tại đây: https://github.com/Azure/azure-webjobs-sdk-script/issues/992. Một số tiến trình đã được thực hiện như được mô tả tại https://stackoverflow.com/questions/38093972/azure-functions-binding-redirect – Rory

Trả lời

4

Tôi có vẻ như là một vấn đề (AFAIK thậm chí vào cuối tháng 10 năm 2106) rằng họ vẫn chưa tìm ra cách tốt để thực hiện chuyển hướng ràng buộc trong hàm azure.

Tôi gặp vấn đề tương tự với chức năng azure của tôi bằng cách sử dụng hai gói nuget khác nhau với cùng một phụ thuộc (nhưng các phiên bản khác nhau).

Có một câu hỏi tương tự hỏi ở đây: Azure Functions binding redirect

tôi đã kết thúc việc giữ số lượng ít nhất có thể của nugets để tránh ← liên kết ràng buộc. Nếu điều này là không thể với dự án của bạn hãy thử sử dụng cho webjobs (ít nhất là một giải pháp ngắn hạn) cho đến khi các hàm xanh hỗ trợ điều này.

+0

Cảm ơn bạn đã trả lời. Có vẻ như đây là vấn đề xảy ra định kỳ. Tôi đã dành tất cả các ngày hôm qua cố gắng để khắc phục vấn đề này và xây dựng phiên bản của tôi của Dapper.SimpleCRUD và nó đã làm việc. Hôm nay tôi đã quay lại các phụ thuộc của mình cho bản gốc Dapper.SimpleCRUD có tối thiểu [1.42) và khởi động lại dịch vụ ứng dụng của tôi và mọi thứ hoạt động tốt (các cuộc gọi sử dụng Dapper.SimpleCRUD và gọi tới các gói khác sử dụng Dapper 1.50.2 .. ... – Nish

+2

Nish, nếu bạn tiếp tục gặp sự cố, vui lòng gửi vấn đề với các bước/mô tả chi tiết trên GitHub (https://github.com/Azure/azure-webjobs-sdk-script) để chúng tôi có thể điều tra. m cũng làm việc trên (một quá hạn) bài với thông tin chi tiết về các tùy chọn và hành vi của các phụ thuộc được quản lý trong Azure Chức năng, có thể giúp làm sáng tỏ một số câu hỏi. –

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