如何在我的本地计算机上创建目录

时间:2013-02-20 06:35:24

标签: c#

我想问一下,以下代码出了什么问题,因为我一直在尝试在我的本地机器上创建一个文件夹但是根据我的期望行为它不起作用。 它给我一个错误说:

  

访问路径' C:\ inetpub \ wwwroot // PrintLabels /'被拒绝

代码:

Directory.CreateDirectory(appPath + "//PrintLabels/");

4 个答案:

答案 0 :(得分:1)

如果您使用的是Windows Vista或更高版本,请先关闭Visual Studio,然后右键单击其图标并选择以管理员身份运行选项。然后,当您执行代码时,它应该停止提供访问被拒绝的异常。

答案 1 :(得分:1)

指定的路径必须位于同一台计算机上,或者还可以引用服务器和共享名称的相对路径或通用命名约定(UNC)路径。

一定是

 string path = @"\\172.16.136.35\\SharedFolder1\\";

IP地址取代了计算机名称的使用。你不能同时使用它们。

string path  = @"\\ipaddress\comp_name\shared_folder\new_folder";

应该是:

string path  = @"\\ipaddress\shared_folder\new_folder";

请注意,IP地址是共享文件夹所在的计算机之一,而不是您发送请求的计算机。

答案 2 :(得分:0)

我认为这是使用AppPath的问题。 这是WWWroot的路径。这是为了创建网站。 所以你可能没有正确的访问权限。

您可以尝试其他具有正确访问权限的路径。

答案 3 :(得分:0)

最有可能(假设错过asp.net标记)您的代码在ASP.Net应用程序中运行。根据所选的安全模型帐户,运行的代码是浏览器用户或特殊的“匿名”帐户。两个帐户都不会在“inetpub \ wwwroot”文件夹中具有写入/创建文件夹权限。

如果你真的想让这个访问 - 确定在哪个用户代码下运行(即在异常时检查Environment.UserName) - 如果您可以为此用户提供permissiosn - 导航本地资源管理器到您要创建文件/文件夹的文件夹,并调整文件夹属性的“安全”选项卡的权限。

通常将文件写入半随机位置(尤其是系统控制器,如windows / program files / inetpub)并不是一个好主意。确保您了解行动的安全隐患......

注意:确保正确构造路径。 Path.Combine是在字符串连接和使用长列表随机斜杠/反斜杠字符时更好的方法。