Vì vậy, ... Tôi đã từng nghĩ rằng khi bạn truy cập một tệp nhưng đã chỉ định tên mà không có đường dẫn (CAISLog.csv trong trường hợp của tôi). NET sẽ mong đợi tệp nằm ở cùng một đường dẫn như .exe.Độ phân giải đường dẫn mặc định/tương đối hoạt động như thế nào trong .NET?
Điều này hoạt động khi tôi bước qua một giải pháp (C# .NET2. * VS2K5) nhưng khi tôi chạy ứng dụng ở chế độ bình thường (Bắt đầu bằng màn hình kích hoạt MQ Websphere & chạy dưới nền) truy cập vào tập tin tại đường dẫn nơi .exe là nó đang được tìm kiếm tại C: \ WINDOWS \ system32. Nếu nó quan trọng .exe của tác vụ phụ nằm trong cùng cấu trúc thư mục/đường dẫn như ứng dụng của tôi
Tôi nhận được lỗi trùng khớp: "System.UnauthorizedAccessException: Truy cập vào đường dẫn 'C: \ WINDOWS \ system32 \ CAISLog. csv 'bị từ chối. "
Giải pháp thay thế của tôi chỉ đủ điều kiện cho vị trí tệp của tôi. Những gì tôi muốn hiểu, tuy nhiên là "Quy tắc .NET điều chỉnh cách đường dẫn được giải quyết khi chỉ tên tệp được chỉ định trong IO là gì?" Tôi cảm thấy tôi thiếu một số khái niệm cơ bản và nó làm tôi xấu.
chỉnh sửa - Tôi không chắc đó là quy tắc của .NET, nhưng Schmuli có vẻ đang giải thích khái niệm rõ ràng hơn một chút. Tôi chắc chắn sẽ cố gắng đề xuất của Rob Prouse trong tương lai vì vậy +1 trên đó quá.
Nếu có ai đó có một số gợi ý về từ ngữ nhấn mạnh tôi không thực sự quan tâm đến việc tìm đường dẫn đến .exe của tôi - thay vì không hiểu điều gì đang xảy ra với độ phân giải đường dẫn tương đối (và tôi vẫn có thể có thuật ngữ của tôi hơi say) ...
Cảm ơn - Tôi nghĩ điều này giúp ích nhiều nhất –