Impostare timestamp nel file di sola lettura in Windows

L'impostazione del timestamp in un file con l'attributo di sola lettura ha ora esito positivo in Windows e non genera eccezioni.

Comportamento precedente

Prima delle versioni di manutenzione di .NET 6, l'impostazione del timestamp in un file di sola lettura in Windows ha generato un'eccezione UnauthorizedAccessException.

Nuovo comportamento

A partire da .NET 6.0.2, l'impostazione del timestamp in un file di sola lettura in Windows ha esito positivo.

Versione con introduzione

.NET 6.0.2 (versione di manutenzione)

Tipo di modifica che causa un'interruzione

Questa modifica può influire sulla compatibilità binaria.

Motivo della modifica

I clienti hanno riportato che si aspettavano di impostare il timestamp su un file di sola lettura per avere esito positivo. Questa modifica rende anche coerente il comportamento di Windows con Linux. Infine, il comportamento non era intenzionale, ma causato da un bug.

È improbabile che il codice esistente preveda che l'impostazione del timestamp in un file di sola lettura abbia esito negativo. Tuttavia, se il codice prevede che abbia esito negativo, aggiungere un controllo per l'attributo di sola lettura usando File.GetAttributes(String) prima di tentare di impostare il timestamp.

API interessate