Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.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#拒绝访问任何文件夹_C#_Windows_Winforms - Fatal编程技术网

C#拒绝访问任何文件夹

C#拒绝访问任何文件夹,c#,windows,winforms,C#,Windows,Winforms,当我在中选择任何文件夹时 FolderDialogBrowser 我收到关于拒绝访问文件夹的错误。这适用于所有文件夹、文档、我的电脑、桌面等,实际上是每个文件夹。我读到关于文件夹(但磁盘上的每个文件夹?)的用户访问权限,并以管理员身份运行,但这对我没有帮助。若我将程序发送给朋友,他们将有太多的文件夹访问权限来选择路径?我已登录管理员帐户,我拥有所有权限,但我的程序号为 /* *由SharpDevelop创建。 *用户:托梅克 *日期:2019-04-05 *时间:04:26 * *要更改此模板

当我在中选择任何文件夹时

FolderDialogBrowser

我收到关于拒绝访问文件夹的错误。这适用于所有文件夹、文档、我的电脑、桌面等,实际上是每个文件夹。我读到关于文件夹(但磁盘上的每个文件夹?)的用户访问权限,并以管理员身份运行,但这对我没有帮助。若我将程序发送给朋友,他们将有太多的文件夹访问权限来选择路径?我已登录管理员帐户,我拥有所有权限,但我的程序号为

/*
*由SharpDevelop创建。
*用户:托梅克
*日期:2019-04-05
*时间:04:26
* 
*要更改此模板,请使用工具|选项|编码|编辑标准标题。
*/
使用制度;
使用System.Collections.Generic;
使用系统图;
使用System.Windows.Forms;
使用System.Xml.Linq;
名称空间元生成器
{
/// 
///主窗体的描述。
/// 
公共部分类主窗体:窗体
{
公共表格(
{
//
//Windows窗体设计器支持需要InitializeComponent()调用。
//
初始化组件();
//
//TODO:在InitializeComponent()调用后添加构造函数代码。
//
}
OpenFileDialog文件=新建OpenFileDialog();
FolderBrowserDialog元输出=新建FolderBrowserDialog();
字符串元路径;
无效按钮1单击(对象发送者,事件参数e)
{
files.Filter=“Wszystkie pliki(*.*)|*.*”;
files.Multiselect=true;
if(files.ShowDialog()==DialogResult.OK)
{
foreach(files.filename中的字符串文件)
{
textBox1.Text=textBox1.Text+“;”+文件;
}
}
}
无效按钮2单击(对象发送者,事件参数e)
{
metaOutput.Description=“Wybierz folder gdzie zostanie wywany plik meta.xml”;
metaOutput.RootFolder=Environment.SpecialFolder.MyDocuments;
if(metaOutput.ShowDialog()==DialogResult.OK)
{
metapath=metaOutput.SelectedPath;
textBox2.Text=元路径;
}
}
void按钮3单击(对象发送者,事件参数e)
{
如果(textBox1.Text.Length>0&&textBox2.Text.Length>0)
{
XDocument meta=新XDocument(新XElement(“meta”);
foreach(files.filename中的字符串文件)
{
XElement childFileTag=新XElement(“文件”);
XAttribute sourcepath=新的XAttribute(“src”,文件);
添加(源路径);
添加(childFileTag);
}
如果(复选框1.选中)
添加(新的XElement(“oop”,“true”);
保存(元路径);
}
}
}
}

问题在于您如何使用

meta.Save(metapath);
metapath
是一个文件夹(目录)名称(如
c:\temp\
),而不是文件名(如
c:\temp\bob.xml

保存文件时,需要保存到完整路径(包括文件名)。例如:

meta.Save(Path.Combine(metapath, "bob.xml"));
或者,不要使用
FolderBrowserDialog
——而是使用
SaveFileDialog
允许用户选择自己的文件名。

@mjwills
meta.Save(metapath+@“\bob.xml”);
有效,谢谢。我认为meta.Save函数只获取保存文件的路径,但我没有考虑文件名和扩展名