Tôi đang sử dụng dịch vụ Microsoft Web Deploy Remote Agent để cho phép tôi dễ dàng xuất bản mã lên máy chủ từ trong Visual Studio.Triển khai Web không thành công do tệp đang sử dụng
Trang web tôi đang triển khai đang sử dụng log4net để ghi nhật ký vào tệp nhật ký và mỗi khi tôi cố triển khai phiên bản mã mới, tôi gặp lỗi này trong Visual Studio cho biết tệp nhật ký log4net hiện tại sử dụng:
Đã xảy ra lỗi khi yêu cầu được xử lý trên máy tính từ xa . Tệp 'Web.log' đang được sử dụng.
Quá trình không thể truy cập 'C: \ inetpub \ wwwroot \ Logs \ Web.log' bởi vì nó đang được sử dụng bởi một quy trình khác.
tôi có thể giải quyết điều này bằng cách vào máy chủ và làm một iisreset
trước khi xuất bản ... nhưng đó là loại đánh bại các điểm xuất bản 'dễ dàng' từ Visual Studio :)
Có một số cách Tôi có thể nhận nhiệm vụ xuất bản để phát hành một iisreset tự động, hoặc một số cách khác tôi có thể làm việc vòng này?
Đây có phải là tệp nhật ký log4Net của bạn không? – Tommy
@Tommy Có, xin lỗi, tôi nên làm cho rõ ràng hơn :) – Cocowalla
Tôi tự hỏi nếu bạn có thể buộc vào sự kiện Application_End trong global.asax của bạn và gọi tắt tùy chọn cho log4Net. Điều này sẽ giải phóng khóa trên tệp. Tôi đã không phải làm điều này, do đó không được đăng như một câu trả lời, nhưng có một vài câu hỏi SO và các mục khác liên quan đến việc tắt dịch vụ ghi nhật ký vì nhiều lý do khác. – Tommy