2012-10-04 35 views
9

Tôi có dự án VS 2012 với cấu trúc như thế này:Output tập tin nội dung vào thư mục cụ thể khi xây dựng dự án

Project 
    Folder1 
     file.xml 
     schema.xsd 
     code.cs 
    Folder2 
     code1.cs 
     code2.cs 

tôi đặt Copy to output directory tài sản của file.xmlschema.xsd-Copy always và muốn xuất chúng vào cùng một thư mục nơi hội được xuất ra (bin\Debug) nhưng chúng luôn được sao chép vào thư mục bin\Debug\Folder1. Có cách nào để đạt được mục tiêu của tôi mà không cần di chuyển tệp vào thư mục gốc của dự án không?

+1

Tôi không có một câu trả lời, nhưng tôi có cùng một câu hỏi cho VS 2010. – Bobson

Trả lời

16

Tôi khuyên bạn nên làm điều này bằng tập lệnh sự kiện được xây dựng. Nó không phải là bận rộn như nó âm thanh, và cung cấp cho bạn vô số tính linh hoạt.

  • Nhấp chuột phải vào dự án của bạn và chọn Thuộc tính.
  • Chuyển đến Build Sự kiện tab và click Sửa Post-xây dựng ...

(Xem ảnh chụp màn hình dưới đây)

Bây giờ bạn có thể chỉ định shell lệnh được thực hiện sau mỗi lần xây dựng thành công của dự án của bạn. Sau đây đạt được ví dụ trong câu hỏi của bạn:

copy "$(ProjectDir)Folder1\file.xml" "$(TargetDir)" 
copy "$(ProjectDir)Folder1\schema.xsd" "$(TargetDir)" 

$(ProjectDir)$(TargetDir)macro đó chèn các giá trị tương ứng có liên quan đến dự án của bạn. Bạn có thể chọn và chèn macro từ menu macro trong cửa sổ chỉnh sửa.

Báo giá được bao gồm ở trên, vì ProjectDirTargetDir của bạn có thể giải quyết cho đường dẫn đầy đủ bao gồm khoảng trắng và điều này sẽ phá vỡ lệnh copy nếu không gian ở đó.

Opening Porject Properties

Editing Post Build

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