Tôi đang nghiên cứu một số công cụ của Nuget. Tôi tự hỏi Nuget có thích hợp cho việc phân phối các lệnh .exe - hay cho vấn đề đó nếu Nuget chỉ định dùng để tham chiếu đến một dự án (dĩ nhiên bạn cũng có thể liên kết với một exe thay vì một dll - IIRC). Rõ ràng, tôi có thể dễ dàng tạo ra một ứng dụng giao diện điều khiển và sau đó tham khảo các gói Nuget, nhưng tôi tự hỏi nếu điều này luôn luôn cần thiết. Ngoài ra, có vẻ như không giống như đá quý, không có repo đá quý địa phương, vì vậy tôi cảm thấy như .exe (s) không phải là mục đích sử dụng cho các gói Nuget, nhưng tôi không thấy lý do tại sao chúng cần được giới hạn trong thời trang - hoặc tôi đang thiếu một cái gì đó?Gói Nuget thực sự là lệnh exe?
10
A
Trả lời
17
Bạn có thể bao gồm các chương trình thực thi trong gói NuGet của mình. Từ Creating and Publishing a Package:
cụ - Các thư mục công cụ của một gói là cho các kịch bản PowerShell và các chương trình thể truy cập từ Package Manager Console. Sau khi thư mục được sao chép vào dự án mục tiêu , nó được thêm vào biến môi trường `$ env: Path (PATH).
Có một vài điều bạn nên biết, tuy nhiên, nếu bạn chọn để làm điều này:
- Bạn là chính xác rằng, không giống như RubyGems, NuGet không có khái niệm về hệ thống- hoặc các gói cấp máy; các gói được nhắm mục tiêu đến một dự án duy nhất, hoặc (hiếm khi) đến một giải pháp. Vì vậy, tệp thực thi này sẽ được đặt trong thư mục của gói cho mỗi giải pháp mà nó được sử dụng.
- Phần mở rộng NuGet Visual Studio thêm đường dẫn của thư mục công cụ của gói vào biến môi trường PATH của bảng điều khiển của nó, vì vậy bạn có thể thực hiện thuận tiện các chương trình trong đó. Bên ngoài Visual Studio, khi sử dụng các máy khách NuGet khác (chẳng hạn như nuget.exe), sẽ không có bất kỳ xử lý PATH tự động nào, do đó bạn phải xử lý việc nhận đường dẫn đến chương trình.
- Tính năng NuGet này được thiết kế cho các tập lệnh và chương trình thực thi liên quan đến phát triển dự án (ví dụ: trình tạo mã, công cụ thao tác tệp dự án, công cụ khen khung như trình mô phỏng hoặc máy chủ phát triển, v.v.). Mặc dù bạn có thể sử dụng tính năng này theo những cách mà nó không được thiết kế, nếu bạn muốn cung cấp các chương trình hệ thống không thực sự liên quan đến phát triển dự án, bạn có thể muốn xem Chocolatey, "Trình quản lý gói máy, giống như apt-get, nhưng được xây dựng với các cửa sổ trong tâm trí. "
Các vấn đề liên quan
- 1. Thực hiện StyleCop MSBUILD từ Gói NuGet
- 2. Thử nghiệm gói NuGet
- 3. Gói Bootstrap Nuget
- 4. Có sự phụ thuộc vào gói nuget cụ thể
- 5. Sự cố khi gỡ cài đặt Gói NuGet
- 6. Sự khác nhau giữa các gói MvcContrib.MVC3-ci và Mvc.Contrib NuGet là gì?
- 7. Thiếu gói khiến NuGet khôi phục gói thành thất bại
- 8. cách thực hiện chương trình .exe bằng tập lệnh php
- 9. NuGet không nhận được gói thiếu
- 10. Cách tạo gói NuGet cấp giải pháp?
- 11. Mô-đun con Git và gói Nuget
- 12. Có sự khác nhau nào giữa trình cài đặt .msi của gói và gói nuget của gói không?
- 13. NuGet - install.ps1 không được gọi là
- 14. Sự khác nhau giữa nuget-đóng gói một csproj so với nuspec
- 15. quản lý gói nuget không đồng bộ
- 16. gói NuGet với sourcecode mà không SymbolSource.org
- 17. Cách tạo Gói NuGet bằng NuGet.Core?
- 18. Gói NuGet cho Microsoft.WindowsAzure.ServiceRuntime ở đâu?
- 19. Gói sạch Nuget Xóa/Cài đặt
- 20. Đóng gói nhiều .exe trong gói .msi đơn
- 21. Thêm các mục mức dung lượng trong gói NuGet
- 22. NuGet và TFS thực hành tốt nhất
- 23. Thêm gói NuGet mà không có sự phụ thuộc của nó
- 24. Gói Elmah và Elmah.MVC Nuget - Sử dụng & lý do gì?
- 25. Delphi: .exe có sẵn các gói: 600kb, .exe + BPL ngoài: 6MB. Tại sao vậy?
- 26. Biên dịch tập lệnh ruby thành exe?
- 27. NuGet Package Restore không khôi phục các gói trên build
- 28. Lỗi khi cài đặt gói EntityFramework trên NuGet
- 29. nhân vật trái phép trên đường đi cho gói NuGet
- 30. Private NuGet Server: Yêu cầu thực thể quá lớn
Cảm ơn đề xuất - Tôi chưa bao giờ nghe nói về Chocolatey. ;-) – lucidquiet
nếu các tập tin thực thi phụ thuộc vào các hội đồng trong thư mục lib thì nó sẽ không tải chúng, trừ khi chúng được nhân đôi trong thư mục công cụ, phải không? –