VB.NET en la Vista, tratando de llegar a la fecha (Hoy) causas de excepción de seguridad

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

  •  09-06-2019
  •  | 
  •  

Pregunta

Tengo un programa de VB6 que recientemente alguien me ayudó a convertir a VB.NET

En el programa, al guardar archivos, yo sello con la fecha en la que yo estaba llamando a la función Hoy ().

Cuando trato de ejecutar el nuevo VB.NET código en la Vista lanza un permiso de excepción para el día de Hoy() .Si puedo ejecutar Visual Studio Express (este es el 2008 versión Express) en el modo de Administración, entonces no se produce el problema, pero claramente yo quiero acabar con un programa independiente que se ejecuta para todos los usuarios sin permisos de lujo.

Entonces, ¿cómo puede una normal VB.NET programa en la Vista la fecha de hoy?

¿Fue útil?

Solución

Uso DateTime.Now o DateTime.Today.Estos son totalmente administrados y no lanzar las excepciones de seguridad.

El viejo VB6 funciones, tales como Len(), Left(), Right(), OpenFile(), FreeFile() son todos los presentes en el .NET Framework de Microsoft.VisualBasic DLL.Para mantener la compatibilidad hacia atrás, que todos llamamos el antiguo funciones en código no administrado.Código no administrado requiere de permisos de seguridad porque puede ser peligroso.

Siempre que sea posible, tratar y utilizar la versión más reciente .NET funciones.Son normalmente mucho más rápido (e / s de Archivos a través de Secuencias, por ejemplo) y el más seguro.

Otros consejos

Cuando yo intente con la siguiente declaración:

Dim result As String = Today()

Me da la fecha de hoy, como yo esperaba, y me estoy quedando en VB2005 en Vista.Se puede modificar la pregunta con la versión de VB que está utilizando?También, se puede intentar la siguiente declaración en lugar de Today() para ver lo que funciona para usted, sin excepción?

Dim result As String = Now()

La función Hoy() debe comportarse correctamente en la Vista.Yo creo que detrás de las escenas es simplemente evaluar la DateTime.Hoy en día la propiedad, así que no debería lanzar excepciones.Si vas a trasladar a VB VB.NET probablemente, usted debe seguir adelante y utilizar la DateTime.Hoy en día la propiedad en lugar de la VB6 de compatibilidad de código.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top