Vista의 VB.NET에서 날짜(오늘)를 가져오려고 하면 보안 예외가 발생합니다.

StackOverflow https://stackoverflow.com/questions/64469

  •  09-06-2019
  •  | 
  •  

문제

최근 누군가가 VB.NET으로 변환하는 데 도움을 준 VB6 프로그램이 있습니다.

프로그램에서 파일을 저장할 때 Today() 함수를 호출하여 얻은 날짜를 스탬프로 찍습니다.

Vista에서 새 VB.NET 코드를 실행하려고 하면 Today() 에 대한 권한 예외가 발생합니다.관리 모드에서 Visual Studio Express(2008 Express 버전)를 실행하면 문제가 발생하지 않지만 분명히 멋진 권한 없이 모든 사용자에 대해 실행되는 독립 실행형 프로그램으로 끝나고 싶습니다.

그렇다면 Vista의 일반 VB.NET 프로그램은 어떻게 오늘 날짜를 얻을 수 있습니까?

도움이 되었습니까?

해결책

사용 DateTime.Now 또는 DateTime.Today.이는 완전히 관리되며 보안 예외가 발생해서는 안 됩니다.

다음과 같은 이전 VB6 함수 Len(), Left(), Right(), OpenFile(), FreeFile() 모두 Microsoft.VisualBasic DLL의 .NET Framework에 있습니다.이전 버전과의 호환성을 유지하기 위해 모두 비관리 코드에서 이전 함수를 호출합니다.비관리 코드는 위험할 수 있으므로 특별한 보안 권한이 필요합니다.

가능하다면 최신 .NET 기능을 사용해 보세요.일반적으로 훨씬 빠르고(예: 스트림을 사용하는 파일 IO) 더 안전합니다.

다른 팁

다음 진술을 시도하면 :

Dim result As String = Today()

예상대로 오늘 날짜가 표시되고 Vista에서 VB2005를 실행하고 있습니다.사용중인 VB 버전으로 질문을 수정할 수 있습니까?또한 대신 다음 명령문을 시도해 볼 수 있습니까? Today() 예외 없이 효과가 있는지 확인하시겠습니까?

Dim result As String = Now()

Today() 함수는 Vista에서 제대로 작동해야 합니다.나는 배후에서 단순히 DateTime.Today 속성을 평가하고 있으므로 예외가 발생해서는 안 된다고 생각합니다.VB를 VB.NET으로 포팅하는 경우 VB6 호환성 코드 대신 DateTime.Today 속성을 사용해야 합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top