2013-12-18 18 views
8

Kịch bản:SlowCheetah: Các tệp được chuyển đổi từ dự án thư viện lớp không được sao chép vào các dự án được tham chiếu

Tôi có một dự án thư viện lớp với các tệp .config tùy chỉnh. Xây dựng Hành động cho các tệp cấu hình này được đặt thành 'Nội dung' và 'Sao chép Luôn luôn'. Dự án thư viện này sau đó được tham chiếu trong ít nhất 4-5 ứng dụng giao diện điều khiển trong cùng một giải pháp. Khi giải pháp được xây dựng của hội đồng thư viện lớp và các tập tin cấu hình tùy chỉnh được sao chép vào thư mục bin dự án tham chiếu.

Những gì tôi đang cố gắng để làm:

Sử dụng SlowCheetah để chuyển đổi tập tin tùy chỉnh cấu hình

Vấn đề:

Mặc dù SlowCheetah biến đổi các tập tin cấu hình trong dự án thư viện lớp nó không sao chép các biến tập tin vào các dự án được tham chiếu. tức là nó luôn sao chép tệp gốc/nguồn.

Tìm thấy một vài chủ đề khác nhưng không có chủ đề nào trong số đó là giải pháp dựa trên SlowCheetah, mọi đề xuất sẽ hữu ích. Lưu ý rằng tôi đang sử dụng Install Shield Limited Edition, vì vậy giải pháp cần làm việc cho các tệp .msi/setup. Ngoài ra, tôi không muốn liên kết các tập tin và áp dụng biến đổi trên các tập tin được liên kết như sau đó tôi sẽ phải làm cùng một biến đổi trên tất cả các dự án tham chiếu.

Cảm ơn

+1

Tôi đã thử đặt một bước bài xây dựng với một xcopy vào dự án giao diện điều khiển (s) nhưng nó vẫn sao chép phiên bản untransformed . Điều duy nhất tôi có thể nghĩ tại thời điểm này là nó là một loại vấn đề thời gian. Có lẽ biến đổi đang xảy ra sau khi xây dựng sau ?! –

+0

Có cùng một vấn đề ở đây, đối với tôi tập tin NLog.config của nó mà tôi đã thêm biến đổi quá. Cùng một vấn đề, tệp được chuyển đổi nhưng không được sao chép – workabyte

Trả lời

0

Với ClassLibararyA tham chiếu ClassLibraryB:

  • Đảm bảo configs từ cả hai thư viện lớp được đặt tên App.config
  • biến đổi cấu hình cho cả App.configs sử dụng SlowCheetah (thậm chí nếu bạn chỉ quan tâm đến một)
  • Xây dựng

Trong phần ra đặt thư mục cho ClassLibraryA, bạn sẽ tìm thấy ClassLibraryB.dll.config (App.config được chuyển đổi của ClassLibraryB).

+2

OP được đề cập đến "tệp cấu hình tùy chỉnh" mà tôi nghĩ không phải là tệp app.config.Tôi có một biến đổi SlowCheetah trên cả app.configs và tôi đồng ý rằng cấu hình ClassLibraryB được chuyển đổi trước khi được sao chép vào thư mục bin ClassLibraryA. Tuy nhiên, có các tệp .config khác trong ClassLibraryB có các biến đổi SlowCheetah. Các thuộc tính "Copy to Output Directory" được đặt thành "Copy Always" hoặc "Copy if Newer". Biến đổi được áp dụng trước khi chúng đi vào thư mục bin của ClassLibraryB, nhưng không áp dụng cho phiên bản kết thúc trong thư mục ClassLibraryA. Đó là vấn đề ở đây. –

0

Tôi biết đây không phải là giải pháp nhưng đây là những gì tôi đã tìm thấy về vấn đề này vì tôi đang gặp vấn đề tương tự. Thêm này ở đây vì nó là quá nhiều để thêm vào một bình luận và hy vọng nó cuối cùng sẽ là câu trả lời khi họ đóng lỗi.

Tôi biết cheetah chậm đang ở chế độ bảo trì nhưng chúng vẫn đang sửa lỗi và có vẻ như Microsoft sẽ chọn dự án để hy vọng chúng được khắc phục.

Tìm thấy trường hợp này ở đây, nơi họ thừa nhận đó là lỗi nhưng sau đó dường như họ khắc phục sự cố khác.

https://github.com/sayedihashimi/slow-cheetah/issues/34

vì vậy tôi đã mở một báo cáo lỗi mới đây

https://github.com/sayedihashimi/slow-cheetah/issues/174

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