Udostępnij za pośrednictwem


Ustawianie znacznika czasu w pliku tylko do odczytu w systemie Windows

Ustawienie znacznika czasu w pliku z atrybutem tylko do odczytu teraz powiedzie się w systemie Windows i nie zgłasza już wyjątku.

Stare zachowanie

Przed wersjami obsługi platformy .NET 6 ustawienie znacznika czasu w pliku tylko do odczytu w systemie Windows spowodowało wystąpienie błędu UnauthorizedAccessException.

Nowe zachowanie

Począwszy od platformy .NET 6.0.2, ustawienie znacznika czasu w pliku tylko do odczytu w systemie Windows powiedzie się.

Wprowadzona wersja

.NET 6.0.2 (wersja serwisowa)

Typ zmiany powodującej niezgodność

Ta zmiana może mieć wpływ na zgodność binarną.

Przyczyna wprowadzenia zmiany

Klienci przekazali opinię, że spodziewali się ustawienia sygnatury czasowej w pliku tylko do odczytu, który zakończy się powodzeniem. Ta zmiana sprawia również, że zachowanie systemu Windows jest spójne z systemem Linux. Na koniec zachowanie było niezamierzone, spowodowane usterką.

Jest mało prawdopodobne, że istniejący kod oczekuje ustawienia znacznika czasu w pliku tylko do odczytu, aby zakończyć się niepowodzeniem. Jeśli jednak kod oczekuje, że nie powiedzie się, przed podjęciem próby ustawienia znacznika czasu dodaj sprawdzenie atrybutu tylko do odczytu przy użyciu File.GetAttributes(String) polecenia .

Dotyczy interfejsów API