Vista上的VB.NET,试图获取日期(今天)导致安全异常

int*_*tar 2 vb.net security date

我有一个VB6程序,有人最近帮我转换为VB.NET

在程序中,当保存文件时,我通过调用Today()函数将它标记为我所获得的日期.

当我尝试在Vista中运行新的VB.NET代码时,它会为Today()抛出一个权限异常.如果我在管理员模式下运行Visual Studio Express(这是2008 Express版本),那么问题就不会发生,但显然我希望最终得到一个独立的程序,该程序可以为没有花哨权限的所有用户运行.

那么Vista中的普通VB.NET程序怎么能得到今天的日期呢?

Dav*_*kol 10

使用DateTime.NowDateTime.Today.这些是完全托管的,不应该抛出安全异常.

旧VB6功能,例如Len(),Left(),Right(),OpenFile(),FreeFile()都存在于Microsoft.VisualBasic程序DLL .NET框架.为了保持向后兼容性,它们都在非托管代码中调用旧函数.非托管代码需要特殊的安全权限,因为它可能很危险.

尽可能尝试使用较新的.NET函数.它们通常要快得多(例如,使用Streams的文件IO)并且更安全.