asp.net - 将文件保存到 'C:\Windows\System32\dns' 会导致 'Could not find a part of the path' 错误

标签 asp.net windows vb.net winforms dns

我编写了一个 Windows 窗体 (.net 4) 应用程序,需要将文件写入文件夹“C:\Windows\System32\dns”。当这行代码运行时:

File.WriteAllText(dnsFileLocation, luxDns)

我收到以下错误,有人知道为什么吗?

注意:即使我以管理员身份运行应用程序,也会发生这种情况!

***** 异常文本 *******

System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Windows\System32\dns\lux2.dns'.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
   at System.IO.StreamWriter.CreateFile(String path, Boolean append)
   at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize)
   at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding)
   at System.IO.File.InternalWriteAllText(String path, String contents, Encoding encoding)
   at System.IO.File.WriteAllText(String path, String contents)
   at DnsServerUpdater.Main.Main_Load(Object sender, EventArgs e)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at System.Windows.Forms.Form.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.261 (RTMGDR.030319-2600)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
DnsServerUpdater
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/web/dns/DnsServerUpdater.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 10.0.0.0
    Win32 Version: 10.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.261 built by: RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.233 built by: RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.235 built by: RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.276 built by: RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll

***** JIT 调试 ******* 要启用即时 (JIT) 调试,该 .config 文件 应用程序或计算机(machine.config)必须具有 jitDebugging 值在 system.windows.forms 部分中设置。 应用程序还必须通过调试进行编译 已启用。

例如:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

启用 JIT 调试时,任何未处理的异常 会发送到计算机上注册的JIT调试器 而不是由该对话框处理。

最佳答案

您运行的是 64 位 Windows 吗?如果是,那么这可能是您的问题,因为您将被重定向到另一个目录。

您需要实现
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365743%28v=vs.85%29.aspxhttp://msdn.microsoft.com/en-us/library/windows/desktop/aa365745%28v=vs.85%29.aspx 以便暂时禁用 64 位重定向以访问该文件夹。

关于asp.net - 将文件保存到 'C:\Windows\System32\dns' 会导致 'Could not find a part of the path' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10190153/

相关文章:

html复选框输入大小错误

c# - 在 .NET 中调试和诊断锁传送问题

asp.net - 在页脚下方延伸的内容 Pane

windows - 阻止非管理员在特定时间段内登录 Windows

vb.net - 为什么使用公共(public)属性而不是函数来公开自定义集合<T>

asp.net - 我可以确定 HttpModules 是按照它们在 HttpApplication.Modules 集合中列出的顺序执行的吗?

windows - 关于Windows上插件失败的 Gradle

python - 使用 Wine 和 py2exe 从 Python 项目创建 Windows 应用程序

vb.net - 错误显示 pdf Crystal Report vb.net

.net - 无缘无故反序列化以下 XML(来自 REST 服务)时发生异常!