Tôi quản lý một dự án nguồn mở và muốn ký vào các tệp nhị phân được phát hành trong gói nhị phân của dự án. Tôi sử dụng Visual Studio csproj
và sln
tệp để quản lý và xây dựng dự án của mình và cũng phân phối các tệp này như là một phần của gói nguồn của dự án.Cách được khuyến nghị để quản lý cặp khóa tên mạnh cho một dự án mã nguồn mở là gì?
Làm cách nào tôi có thể ký vào các tệp nhị phân đã tạo của bản dựng của mình và không phải phân phối tệp cặp khóa snk
? Nếu tôi sử dụng Visual Studio để đăng ký các hội đồng, mỗi tệp dự án bây giờ cần một bản sao của cặp khóa để xây dựng. Tôi không thoải mái với việc phân phối cặp khóa, ngay cả khi nó được bảo vệ bằng mật khẩu.
Sửa:
caveat khác là một số hội đồng trong dự án truy cập người bạn cấp qua InternalsVisibleToAttribute
, và xây dựng những bạn bè thông qua một tài liệu tham khảo dự án. Do đó, các hội đồng như vậy cần phải sử dụng một tên mạnh khi đề cập đến một hội đồng đã ký. Tuy nhiên, nếu cặp khóa không được phân phối thì làm thế nào để người dùng cuối có thể xây dựng các nguồn và duy trì các mối quan hệ dự án? Nếu sử dụng tệp cặp khóa tạm thời, mã thông báo khóa công cộng của các hội đồng đã ký có thay đổi hay không, vi phạm tham chiếu InternalsVisibleToAttribute
?
Vì tôi cần phân phối tệp dự án và giải pháp và vì cặp khóa được yêu cầu cho giải pháp xây dựng (khi bật tính năng ký), tôi cũng nên phân phối cặp khóa "giả" sao cho người dùng cuối có thể xây dựng mà không cần phải thao tác các tệp dự án? Nó có vẻ cồng kềnh để kiểm tra các tệp dự án vô hiệu hóa việc ký, chỉ phải chuyển đổi cài đặt này mỗi lần phát hành. –
Bạn có thể thực hiện các bước sau: thêm bước xây dựng để kiểm tra xem tệp .snk đã tồn tại chưa và chạy sn.exe để tạo tệp mới nếu cần. Sau đó, nó sẽ xây dựng ngay từ kho lưu trữ cho những người dùng khác. – sharptooth