2012-07-27 16 views
6

Tôi hiện đang sử dụng sự kiện xây dựng bài đăng trong dự án của mình để sao chép các hội đồng của tôi sang một thư mục khác cho mục đích gỡ lỗi. Đây là máy cục bộ cho máy của tôi và chỉ dành cho mục đích gỡ lỗi, vì vậy tôi muốn có nó trong tệp * .csproj.user thay vì tệp * .csproj. Tôi đã thử sao chép các phần tử có trách nhiệm từ * .csproj thành * .csproj.user, nhưng điều đó không hiệu quả.Có cách nào để tạo sự kiện xây dựng trước/sau cụ thể cho người dùng trong các dự án Visual Studio không?

Sửa Để làm rõ, tôi không muốn đặt lệnh người dùng cụ thể trong trường hợp sau xây dựng trong tập tin * csproj. Thay vào đó, tôi muốn đặt các lệnh sự kiện sau khi xây dựng trong tệp * .csproj.user. (Từ các câu trả lời cho đến nay, điều này là không thể)

Để cung cấp thêm ngữ cảnh, nó không phải là một tài liệu tham khảo dự án. Tôi đang sao chép lắp ráp của tôi vào thư mục của ứng dụng tải các assembly trong thời gian chạy. (Hãy suy nghĩ bổ sung)

+0

Nếu nó là một dự án phụ thuộc bạn sẽ có thể để có được nó để sao chép bằng cách để nó trong tài liệu tham khảo. Tại sao đây chỉ là một thứ địa phương? bạn có thể giải thích thêm một chút về gốc rễ của vấn đề của bạn không? – Neil

+0

Cách tôi đã thực hiện các plugin trong quá khứ là tạo một dự án giả phụ thuộc vào dll của bạn và có thư mục đầu ra cho plugin. Sau đó, bạn có thể sử dụng tab gỡ lỗi trên các tùy chọn dự án để bắt đầu. – Neil

Trả lời

6

Câu trả lời ngắn gọn là không, không phải cách bạn muốn thực hiện: |

Câu trả lời hơi dài hơn là sorta. Bạn có thể trong lý thuyết có các sự kiện xây dựng cụ thể được kích hoạt cho người dùng cá nhân, nhưng những sự kiện này vẫn sẽ nằm trong tệp csproj. Bạn có thể chạy các sự kiện bên ngoài trên các bản dựng và sau đó cho phép các sự kiện bên ngoài này chạy tùy thuộc vào người dùng đang chạy chúng (như một tập lệnh).

Nếu điều này là để gỡ lỗi, tôi chỉ chèn chúng, làm công cụ xây dựng của bạn và kéo chúng ra trước khi tải nó lên hệ thống kiểm soát phiên bản của bạn.

+0

Tôi sợ điều đó. Tôi rõ ràng đã không làm rõ câu hỏi của tôi rất tốt, bởi vì cho đến nay bạn là người duy nhất dường như hiểu những gì tôi đang nhận được. – blachniet

0

Sự kiện trước/sau khi xây dựng được lưu trong tệp dự án. VS không cung cấp tùy chọn.

Bạn có thể giới thiệu công cụ tùy chỉnh (bên ngoài) để thực hiện sao chép như vậy và gọi nó từ menu hoặc macro và cũng gọi nó.

2

Bạn có thể sử dụng bản dựng tùy chỉnh target có điều kiện được kích hoạt bởi biến môi trường. Sau đó, chỉ đặt biến đó trên máy của bạn.

2

Sử dụng một câu lệnh if và một biến môi trường (trong dấu ngoặc kép nếu có yêu cầu)

if "$(Username)" == "MyUser" 
    copy /y $(ProjectDir)memcached.$(ConfigurationName).config $(ProjectDir)memcached.config 
Các vấn đề liên quan