2011-05-04 24 views
6

Trong dự án chính của Giải pháp VS của tôi, tôi có một thư mục Tài nguyên với một số công cụ bên ngoài được yêu cầu. Khi xây dựng và xuất bản giải pháp, tôi nhận được một. \ Resources * với tất cả các tệp được yêu cầu ở đó. Cho đến nay rất tốt.Cách thiết lập đường dẫn đầu ra đích của một tệp tài nguyên đã cho trong Visual Studio

Tuy nhiên tôi phải di chuyển một số tệp vào thư mục chính. Nỗ lực đầu tiên của tôi là làm như vậy với Sự kiện xây dựng bài đăng. Nó hoạt động và di chuyển chúng đúng thư mục. Tuy nhiên trong kết quả xuất bản chúng vẫn xuất hiện trong thư mục Tài nguyên và tôi cần chúng trong thư mục gốc:/

Có cách nào để thiết lập đường dẫn đầu ra đích cho tài nguyên trong Visual Studio không?

+0

Tại sao không chỉ cần đặt chúng trong thư mục mẹ để bắt đầu với, nếu đó là nơi họ thuộc về? –

+0

Ứng dụng chính sử dụng nhiều tệp .exe (thông qua quá trình tạo mới + bắt đầu) và tôi không muốn chúng trộn lẫn với mã .. – Bruno

+0

Mặt khác của sự cố, nếu tôi thay đổi đường dẫn, mọi người dùng sẽ sử dụng phải thiết lập đường dẫn của nó một cách chính xác và đó không phải là một lựa chọn cho bây giờ .. Đây là lý do tại sao tôi phải xuất bản chúng trong thư mục gốc: / – Bruno

Trả lời

1

Sau một số nghiên cứu và thử nghiệm, tôi đã giải quyết được sự cố của mình. Tuy nhiên, đây là những gì tôi đã học được trong quá trình này.

Nỗ lực đầu tiên là thêm tệp vào thư mục gốc của dự án và đánh dấu tệp đó là tài nguyên. Sau khi xuất bản nó hoạt động. Nhưng có những tập tin trong dự án gốc của nó lame.

Vì tôi cần một số tệp * .exe được biên dịch trong một giải pháp VS khác, hãy thêm chúng làm tham chiếu dự án. Đã dùng thử và đã vượt qua bài kiểm tra "Xuất bản". Nhưng vẫn .. không phải là cách tốt nhất để làm điều đó.

Sau đó, với một số kịch bản và sự kiện sau khi xây dựng, tôi đã sao chép các tệp được yêu cầu vào thư mục chính xác. Hoạt động .. nhưng sau khi xuất bản, chúng không xuất hiện trong gói.

Tuy nhiên, vẫn còn một khả năng với công cụ Mage:

http://msdn.microsoft.com/en-us/library/acz3y3te.aspx

Điều này dẫn đến một số thí nghiệm promissing, tuy nhiên họ đã kết thúc đã giúp tôi nhận ra cách hạn chế MS ClickOnce là, vì vậy tôi quyết định thử các công cụ khác.

Dưới đây là một khởi đầu tốt để làm theo: What alternatives are there to ClickOnce?

0

Tôi đã có một tình huống tương tự một lần. Tôi thấy nó đã trở thành rắc rối hơn nó là giá trị để tùy chỉnh đường dẫn đầu ra và như vậy trong Visual Studio, đến mức mà tôi muốn.

Tôi đã kết thúc việc cho phép Visual Studio làm việc riêng của mình liên quan đến cấu trúc tệp/dự án và viết một kịch bản sau xây dựng để sao chép mọi thứ cần thiết vào thư mục cuối cùng, 'sẵn sàng xuất bản'.

Sau đó tôi đặt mục tiêu thực hiện trong Visual Studio thành vị trí mới, vì vậy tôi có thể chạy/gỡ lỗi như bình thường, nhưng với thư mục mới được tổ chức theo cách tôi cần. Cẩn thận, tôi nghĩ đây là cài đặt dự án người dùng; vì vậy các nhà phát triển khác cũng sẽ cần phải làm điều này trên máy của họ, nếu họ muốn.

Tôi nhớ việc thay đổi một số đường dẫn đầu ra và như vậy để làm cho kịch bản sau xây dựng đơn giản hơn. Nhưng việc thay đổi những thứ như thế có thể dẫn đến những phiền toái khi bạn thêm các dự án mới vào giải pháp; bạn có thể cần định cấu hình chúng để khớp. Đó là tất cả một trade-off :)

0

Hai ý tưởng:

  • Có lẽ bạn có thể di chuyển các nguồn lực của bạn vào một dự án khác - một dự án chỉ dành riêng cho các nguồn lực - và sau đó thiết lập của họ Build Action để ContentCopy To Output để true. Sau đó, tham khảo dự án mới này và xây dựng giải pháp. (Điều này có thể không hoạt động như bạn muốn, chỉ là một ý tưởng).
  • Tại sao không thay thế tài nguyên được nhúng của bạn. Giữ tất cả chúng trong thư mục Resources\ và truy cập chúng theo cách lập trình?
Các vấn đề liên quan