2013-08-05 45 views
10

Chúng tôi sử dụng các điều khiển của bên thứ 3 trong dự án của chúng tôi. Hầu như mỗi khi tôi nhấp đúp vào một tập tin có một thiết kế xem quá, Visual Studio cố gắng để đưa lên các nhà thiết kế với nỗ lực anh hùng, và sau khi một số unresponsiveness nó cung cấp (sinh) một tập tin license.licx vào giải pháp của chúng tôi. Điều đó không cần thiết làm rối loạn kiểm soát nguồn: việc bổ sung tập tin cũng thay đổi csproj, và cả tệp mã ban đầu cộng với designer.cs được kiểm tra (mặc dù chúng không có bất kỳ sửa đổi nào trong chúng).Làm cách nào để ngăn Visual Studio tạo giấy phép.licx

  1. Tôi chỉ muốn xem mã (nhấp chuột phải, Xem mã), tôi không muốn xem chế độ xem thiết kế.
  2. Mỗi lần tôi cần phải hoàn tác các thay đổi không cần thiết và mất thời gian (giải pháp của chúng tôi là khổng lồ), trong khi Visual Studio không phản hồi lại, vì nó tải lại toàn bộ shebang kể từ khi csproj thay đổi.
  3. Khi tôi nhấp đúp, tôi ngay lập tức nhận ra những gì tôi đã làm, nhưng đã quá muộn tại thời điểm đó, đồng hồ bắt đầu xay.

Nếu có ai biết cách vô hiệu hóa việc bổ sung giấy phép đó, vui lòng cho tôi biết. FYI: các thư viện của bên thứ ba có liên quan là DevExpress WinForms và IdeaBlade DevForce Classic (có tích hợp với DevExpress). Tôi sử dụng VS 2012. Và sản phẩm của chúng tôi là sản phẩm của người dùng cuối chứ không phải thư viện của bên thứ ba.

Làm rõ: chúng ta đang nói về một môi trường phát triển. Xem How does the Licenses.licx based .Net component licensing model work? - bạn không nên giữ nó trong điều khiển nguồn. Tôi không muốn tranh cãi về điều đó. Hãy tập trung vào cách ngăn Visual Studio cố gắng tạo ra nó mọi lúc.

+1

Các quý ông, những người yêu thích: ngay cả khi bạn cho rằng động lực của tôi là sai và tôi không nên loại bỏ license.licx, hãy thảo luận về nó, hãy xem xét kết luận của chủ đề này có thể mang lại lợi ích cho những người khác cùng một đôi giày như tôi. Cảm ơn sự thông cảm của bạn! –

+0

Tôi đã loại bỏ khuôn mặt giận dữ vì một số người có thể nghĩ rằng nó không buồn cười. –

+0

Ở mặt trái; vì đó là một phần của các yếu tố đầu vào cho bản dựng, tại sao bạn không muốn nó được quản lý như một phần của kiểm soát nguồn của bạn? Tôi chắc rằng bạn không có bất kỳ vấn đề nào với việc bao gồm các tài nguyên khác trong kiểm soát nguồn? –

Trả lời

10

Bạn có thể tạo sự kiện xây dựng bài đăng để xóa tệp .licx cho bạn. Chúng tôi đã xử lý sự khó chịu này trong nhóm của chúng tôi và ngoài việc loại trừ hoặc xóa thủ công, sự kiện xây dựng bài đăng là đặt cược tốt nhất của bạn. Mỗi lần bạn mở Biểu mẫu Windows, tệp sẽ được thêm lại nếu biểu mẫu đó tham chiếu hoặc sử dụng bất kỳ tệp .dll nào của bên thứ ba.

Bạn có thể chỉ định sự kiện trước và sau khi xây dựng qua bảng điều khiển hoặc bằng cách nhấp chuột phải vào dự án và chọn Thuộc tính -> Tạo sự kiện. Hi vọng điêu nay co ich.

+0

Tôi thực sự đánh giá cao câu trả lời của bạn. Nhiều khả năng không có chuyển đổi trong Visual Studio để biến của việc tạo ra licx, vì vậy câu trả lời của bạn có vẻ là một giải pháp tốt. Trên thực tế chúng tôi có một bài kiểm tra đơn vị mà không thành công nếu như vậy rogue licx tạo ra, ngăn ngừa cam kết tình cờ của nó. Bạn có tình cờ có một kịch bản xây dựng bài đăng mẫu không? Bạn sử dụng những gì để thao tác các giải pháp trong kịch bản xây dựng bài viết? PowerShell + EnvDte hoặc cái gì khác? [StudioShell] (https://studioshell.codeplex.com/)? –

+0

Bạn có thể tham dự Sự kiện xây dựng bài đăng và dán một cái gì đó như thế này ... del "$ (SolutionDir) Project \ folder \ license.licx" và điều đó sẽ chăm sóc nó. – captray

+2

Xóa license.licx sẽ gây ra lỗi "Không thể tìm thấy tệp ... \ licenses.licx". Thay vào đó, chúng ta có thể thêm sự kiện dựng sẵn này để tạo (hoặc ghi đè) một giấy phép rỗng.licx: copy/y NUL $ (ProjectDir) Properties \ licenses.licx> NUL –

-2

Đó là license.licx là quan trọng. Bạn thực sự muốn nó trong các dự án của bạn sử dụng các thành phần được cấp phép từ bên thứ ba. Nếu bạn không sử dụng các thành phần của bên thứ ba, tệp licences.licx sẽ không được thêm vào.

+1

Tại sao tôi cần license.licx? Nếu tôi không nhấp đúp vào tập tin vô tình nó thậm chí không được tạo ra. Nó có thể gây ra vấn đề trong một nhóm phát triển không? Ví dụ John Doe nhấp đúp chuột vào cái gì khác, sau đó anh ta tạo ra một cái với nội dung khác nhau? Tôi đoán có một số mật mã dưới mui xe. –

+0

(John Doe làm việc trên cùng một phần mềm như tôi. Và tôi không muốn giấy phép trong kiểm soát nguồn. Có thể khi chúng tôi sản xuất bản phát hành, chúng tôi sẽ cần đến nó. Sản phẩm của chúng tôi là sản phẩm của người dùng cuối chứ không phải bên thứ ba Tôi hy vọng chúng tôi không vi phạm bất kỳ giấy phép nào với các nhà cung cấp bên thứ ba của chúng tôi.) –

+0

Vì vậy, câu hỏi ngắn gọn là: tại sao điều quan trọng đối với tôi là tôi phải có nó? Tôi muốn giải thích. –

2

Nếu có ai đang tìm giải pháp cho vấn đề này vì họ đang sử dụng giấy phép biên dịch trước qua công cụ Lc.exe và muốn ngăn chặn license.licx xung đột trên máy chủ xây dựng, hãy chỉnh sửa tệp csproj của bạn và thay đổi dòng như sau:

<EmbeddedResource Include="Properties\licenses.licx" /> 

vào đây:

<ItemGroup Condition=" '$(Configuration)' != 'Release' " > <EmbeddedResource Include="Properties\licenses.licx" /> </ItemGroup>

+1

Điều đó có vẻ đầy hứa hẹn. Tôi không còn trong tình huống này nữa. –

2

Đối với quan điểm của bạn # 1, bạn có thể ngăn chặn việc kích đúp từ việc mở nhà thiết kế nhưng thay vì mở trình soạn thảo mã theo mặc định.

Bạn có thể làm điều này bằng cách:

  • kích chuột phải vào một file .cs mà có một hình thức
  • chọn "Open with ..."
  • chọn "CSharp Editor"(hoặc VB)
  • bấm vào nút "Set as Default"
  • và OK

Nếu bạn muốn thay đổi nó trở lại sau, hãy làm theo cùng một thủ tục nhưng chọn" CSharp Mẫu Biên tập viên "

+1

Ý tưởng rất thiết thực! –

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