Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#-目录.CreateDirectory()中的UnauthorizedAccessException_C#_Exception_Directory_Unauthorized_Unauthorizedaccessexcepti - Fatal编程技术网

C#-目录.CreateDirectory()中的UnauthorizedAccessException

C#-目录.CreateDirectory()中的UnauthorizedAccessException,c#,exception,directory,unauthorized,unauthorizedaccessexcepti,C#,Exception,Directory,Unauthorized,Unauthorizedaccessexcepti,我是C#新手,但我想我在Directory.CreateDirectory中使用了一个简单的命令, 虽然我只是在自己的电脑上构建,但一切都很好。但是当我发布它并在其他PC上打开应用程序时,它抛出了这个异常,我没有找到如何在代码源上修复它的答案。 我试图在Win7中以管理员的身份运行它,但也不起作用。 这是密码。它是葡萄牙语的,但我认为这不会有什么问题:) 非常感谢大家 string diretorio = @"C:\Program Files\LAPER\EqNumDPI\Edifícios\"

我是C#新手,但我想我在Directory.CreateDirectory中使用了一个简单的命令, 虽然我只是在自己的电脑上构建,但一切都很好。但是当我发布它并在其他PC上打开应用程序时,它抛出了这个异常,我没有找到如何在代码源上修复它的答案。 我试图在Win7中以管理员的身份运行它,但也不起作用。 这是密码。它是葡萄牙语的,但我认为这不会有什么问题:)

非常感谢大家

string diretorio = @"C:\Program Files\LAPER\EqNumDPI\Edifícios\" + NomeEdificio;

        if (MessageBox.Show("Você tem certeza de que inseriu os dados corretamente?\nEsses campos não poderão ser alterados posteriormente.",
            "[LAPER] Cálculo do EqNumDPI", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning,
            MessageBoxDefaultButton.Button2) == DialogResult.OK)
        {
            TelaAdicionarAmbiente Tela = new TelaAdicionarAmbiente();
            if (!Directory.Exists(diretorio))
            {
                Directory.CreateDirectory(diretorio);
                StreamWriter file2 = new StreamWriter(@"C:\Program Files\LAPER\EqNumDPI\Edifícios\"+NomeEdificio+"\\metodo.txt", true, Encoding.ASCII);
                if (rBArea.Checked) file2.Write("AREA");
                else file2.Write("ATIVIDADE");
                file2.Close();
                this.Close();
            }
            else
            {
                MessageBox.Show("Nome de edifício já existe.\nPor favor, insira outro nome.",
                    "[LAPER] Cálculo do EqNumDPI",MessageBoxButtons.OK,MessageBoxIcon.Stop);
            }
        }

此异常通常意味着运行程序的帐户(默认情况下为登录用户的帐户)没有创建命名目录的正确权限

MSDN在以下文档中对未经授权的访问例外情况进行了说明:

调用方没有所需的权限


授予该帐户正确的权限,一切都会好起来。

此异常通常意味着运行程序的帐户(默认为登录用户的帐户)没有创建命名目录的正确权限

MSDN在以下文档中对未经授权的访问例外情况进行了说明:

调用方没有所需的权限


授予帐户正确的权限,一切都会好起来。

如果不是Oded的答案,那么问题可能是exe文件的位置。如果从网络卷运行,则其权限将降低

您应该研究强名称密钥,使用它们对应用程序进行签名,并与网络管理员合作“信任”由该强名称密钥签名的程序集

参考:


另外-如果您使用的是Vista或Windows 7,您的应用程序将无法在Program Files目录中写入/创建任何内容,除非您以管理员身份运行它。

如果这不是Oded的答案,则问题可能是exe文件的位置。如果从网络卷运行,则其权限将降低

您应该研究强名称密钥,使用它们对应用程序进行签名,并与网络管理员合作“信任”由该强名称密钥签名的程序集

参考:


另外-如果您在Vista或Windows 7上,您的应用程序将无法在Program Files目录中写入/创建任何内容,除非您以管理员身份运行它。

您可以发布完整的异常跟踪吗?还有,什么是“Nomebuildio”?你能发布完整的异常跟踪吗?还有,什么是“NomeEdificio”?实际上我在一台单用户PC上运行它,在管理员帐户中。电脑管理员是否可能没有这些权限?右键单击应用程序并选择“以管理员身份运行”,然后查看是否有任何影响。您的应用程序不应写入程序文件或其任何子文件。你可能需要看看如何使用IsolatedStorage。实际上,我是在一台单用户PC上,在管理员帐户中运行它的。电脑管理员是否可能没有这些权限?右键单击应用程序并选择“以管理员身份运行”,然后查看是否有任何影响。您的应用程序不应写入程序文件或其任何子文件。你可能需要考虑使用隔离存储。完美的男人,这是一个迷人的词。我不明白我做了什么,但我已经创建了这把钥匙,它工作得很好。顺便说一句,泰克人很多;)完美的男人,它是一种魅力。我不明白我做了什么,但我已经创建了这把钥匙,它工作得很好。顺便说一句,泰克人很多;)