Definir o carimbo de data/hora no arquivo somente leitura no Windows
A configuração do carimbo de data/hora em um arquivo com o atributo somente leitura agora é bem-sucedida no Windows e não gera mais exceção.
Comportamento antigo
Antes das versões de manutenção do .NET 6, a configuração do carimbo de data/hora em um arquivo somente leitura no Windows resultava em UnauthorizedAccessException.
Novo comportamento
A partir do .NET 6.0.2, a configuração do carimbo de data/hora em um arquivo somente leitura no Windows é bem-sucedida.
Versão introduzida
.NET 6.0.2 (versão de manutenção)
Tipo de alteração interruptiva
Essa alteração pode afetar a compatibilidade binária.
Motivo da alteração
Os clientes enviaram comentários sobre sua expectativa de sucesso na definição do carimbo de data/hora em um arquivo somente leitura. Essa alteração também torna o comportamento do Windows consistente com o Linux. Por fim, o comportamento não era intencional, mas causado por um bug.
Ação recomendada
É improvável que o código existente espere a falha da configuração do carimbo de data/hora em um arquivo somente leitura. No entanto, se o código esperar por essa falha, adicione uma verificação para o atributo somente leitura usando File.GetAttributes(String) antes de tentar definir o carimbo de data/hora.
APIs afetadas
- System.IO.File.SetCreationTime(String, DateTime)
- System.IO.File.SetCreationTimeUtc(String, DateTime)
- System.IO.File.SetLastAccessTime(String, DateTime)
- System.IO.File.SetLastAccessTimeUtc(String, DateTime)
- System.IO.File.SetLastWriteTime(String, DateTime)
- System.IO.File.SetLastWriteTimeUtc(String, DateTime)