Câu hỏi này đã được hỏi một lúc trước nhưng nó liên quan đến cùng một loại vấn đề mà tôi đang gặp phải.
Vấn đề:
- Chúng tôi muốn kiểm tra mã của chúng tôi.
- Sau đó chúng tôi muốn xây dựng dự án của mình.
- Trong quá trình xây dựng của mình, chúng tôi phụ thuộc vào Sự kiện xây dựng để di chuyển các tệp xung quanh để chúng tôi có các tệp thích hợp để quá trình xây dựng hoàn tất.
- Khi Sự kiện xây dựng của chúng tôi cố gắng sao chép tệp, chúng tôi nhận được lỗi Truy cập bị Từ chối.
Nguyên nhân:
- Team Foundation Server Visual Studio Plugin thay đổi thuộc tính Chỉ đọc trên tệp của chúng tôi thành S REN SÀNG THẬT khi chúng tôi kiểm tra tệp của mình.
Ví dụ về xây dựng sự kiện:
- sao chép "$ (TargetDir) SomeFile.ext" "$ (ProjectDir)"
Ở trên, chúng ta chỉ cần di chuyển một tệp từ Target Build Path (thư mục bin \ debug hoặc bin \ release) vào Thư mục Dự án của chúng ta. Trong tình huống của tôi, điều này là vì vậy tôi có thể bao gồm các tệp được xây dựng dự án trong trình cài đặt của mình. Trình cài đặt của tôi không lấy chúng như một phần của Đầu ra dự án.
Cách khắc phục: (suýt đá vào mặt tôi khi tôi phát hiện ra điều này)
Sự kiện bản dựng mới:
- do -R "$ (ProjectDir) SomeFile.ext"
- sao chép "$ (TargetDir) SomeFile.ext" "$ (ProjectDir)"
- Att + R "$ (ProjectDir) SomeFile.ext"
Tất cả chúng ta đang vui với Xây dựng sự kiện phải không? Ở trên mình làm đơn giản 2 việc là bỏ thuộc tính read only, bây giờ các file không read only. Sao chép tệp của tôi như tôi muốn ban đầu. Sau đó, thay thế Thuộc tính Chỉ Đọc (tôi đoán là tùy chọn) để giữ cho Visual Studio và Team Foundations luôn hài lòng.
Và vâng ... tôi vẫn đang tự đá vào mặt mình trong lần này.