2012-03-02 117 views
17

Licenses.licx thực sự làm gì đối với điều khiển DevExpress? Tôi đã xóa tất cả các dòng trong license.licx và không có sự khác biệt. Tôi đã biên dịch thành công và chạy ứng dụng của mình. Tôi ngạc nhiên với hành vi này. Bất cứ ai có thể giải thích cho tôi những chi tiết về những gì đang xảy ra?Licenses.licx thực sự làm gì với điều khiển DevExpress?

+0

Bạn có chạy ứng dụng trên cùng một máy phát triển nơi các thành phần DevExpress được cài đặt không? – Steve

+0

@Steve có, tôi chạy ứng dụng trên cùng một máy phát triển. Tôi cũng chạy các ứng dụng trên một máy mà devexpress không được cài đặt. Tôi chỉ cần sao chép các dlls devexpress liên quan. – mkus

+2

Giấy phép thường được kiểm tra tại thời điểm thiết kế, không phải thời gian chạy. Nhà phát triển trả tiền, không phải khách hàng của nhà phát triển. –

Trả lời

8

Hãy xem this bài trên diễn đàn DX:

File licenses.licx chứa thông tin cấp phép về điều khiển được sử dụng trong các ứng dụng của bạn. Sau đó nó được biên dịch vào App_Licenses.dll. Nó sẽ được triển khai cùng với trang web của bạn khi bạn triển khai dự án. Nếu bạn cần tái tạo App_Licenses.dll, hãy nhấp chuột phải vào tệp licens.licx trong giải pháp explorer và chọn lệnh "Build Runtime Licenses".

+0

Nếu bạn muốn sử dụng MSBuild để tạo nó? Bất kỳ ý tưởng? –

+1

@JoePhilllips Cài đặt gói [EmptyLicensesLicx] [1] nuget, và nó sẽ tạo ra một 'Licenses.licx' trống trong dự án của bạn, trước khi nó được biên dịch (tất cả những gì bạn cần). [1]: https://www.nuget.org/packages/EmptyLicensesLicx/ –

3

Đọc từ DX blog file bản quyền được tạo ra bởi Visual studio lúc thiết kế, và đốt cháy vào lắp ráp tại thời điểm biên dịch.

Giấy phép.licx thực sự là một tệp trong giải pháp của bạn (nếu bạn không thể thấy ở đó, hãy nhấp vào Hiển thị tất cả tệp). Visual Studio sử dụng một chương trình gọi là lc.exe để biên dịch các giấy phép vào tài nguyên được nhúng trong ứng dụng của bạn

Bạn thể cơ hội giá trị của nó nếu bạn muốn:

Dưới đây là một ví dụ về một dòng trong một tập tin license.licx.

DevExpress.XtraCharts.Web.WebChartControl, DevExpress.XtraCharts.v8.2.Web, Version = 8.2.4.0, Culture = trung tính, PublicKeyToken = 9b171c9fd64da1d1

Giá trị đầu tiên trong danh sách dấu phẩy phân cách này là các lớp học, thứ hai là lắp ráp, nơi nó được tìm thấy, và các giá trị khác là phần còn lại của tên mạnh của hội đồng. Tôi chắc chắn bạn có thể gặp sự cố, đặc biệt là khi bạn nâng cấp giải pháp lên phiên bản mới nhất của các điều khiển của bên thứ ba mà bạn sử dụng. Nếu muốn, bạn có thể chỉnh sửa tệp này và xóa các phần tên mạnh mà không gặp vấn đề gì.

Hãy nhận biết rằng có được biết vấn đề khi nói đến kiểm soát nguồn:

Vấn đề là Visual Studio có xu hướng chạm vào tập tin này nếu bạn mở các giải pháp (đó là "cảm động" như trong việc thay đổi ngày tệp thành ngày/giờ hiện tại). Điều này đóng vai trò cấp phép, đặc biệt là nếu bạn mở giải pháp trên máy không được cấp phép và bạn đang sử dụng bằng cách sử dụng điều khiển nguồn. Đột nhiên, máy xây dựng của bạn sẽ loại bỏ những thông báo "không thể chuyển đổi" này và bạn đang tự hỏi điều gì đã xảy ra. Một vấn đề phổ biến khác là khi bạn có một nhóm các nhà phát triển làm việc về một giải pháp: tất cả họ đều vô thức "sửa đổi" tệp này.

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