Mam dziwny problem w naszym projekcie C#, który pojawia się podczas próby utworzenia katalogu za pomocą skryptu IronPython. Jest to kod:Wyjątek IOException ("plik lub katalog już istnieje") podczas próby utworzenia katalogu
targetTemplateDirectory = Path.Combine(Data, "Templates\\CheckedReports")
if not Directory.Exists(targetTemplateDirectory):
Directory.CreateDirectory(targetTemplateDirectory)
Problemem jest IOException
mówi mi, że nie jest możliwe, aby utworzyć folder "H:\ProductName\Data\Templates\CheckedReports"
ponieważ plik lub katalog o tej samej nazwie już istnieje.
Według MSDN metoda Directory.CreateDirectory()
nie zgłasza żadnego wyjątku, gdy katalog już istnieje.
Wiem, że plik o nazwie "CheckedReports
" może być przyczyną tego wyjątku, ale jest bardzo mało prawdopodobne, aby klient ręcznie utworzył ten plik. Oprócz tego nie ma linii kodu, która zawiera słowo "CheckedReports
" (oprócz wspomnianego skryptu). Ponadto aplikacja jest używana przez kilka tysięcy klientów, skrypt jest uruchamiany na każdym komputerze i tylko jeden klient zgłosił ten problem.
Czy istnieje możliwość wystąpienia tego wyjątku poza plikiem o tej samej nazwie? Może coś związanego z uprawnieniami, nośnikami wymiennymi lub dyskami sieciowymi?
"ale jest bardzo, bardzo mało prawdopodobne" ... jednak, biorąc pod uwagę dostępne informacje, jest to najbardziej prawdopodobny powód. Nie możesz po prostu sprawdzić (lub pozwolić klientowi sprawdzić), czy istnieje plik o tej nazwie? –
Chciałbym móc :). Wersja aplikacji, z której korzystał ten klient, posiada system zgłaszania błędów, który nie zezwala na żadne dane osobowe ani kontaktowe. Zmieniliśmy to w późniejszej aktualizacji. Dostaliśmy więc tylko komunikat zawierający ślad stosu i identyfikator maszyny, nic więcej. –