WPF,请问程序集资源的问题
在WPF项目中,添加了一个pp.txt文档,使用了默认的生成操作"Resource",复制到输出目录为"不复制",于是,下面的代码会找不到文件:
private void Button_Click(object sender, RoutedEventArgs e)
{
string s1 = "pp.txt";
if (!File.Exists(s1)) //确定指定的文件是否存在
{
MessageBox.Show("文件不存在");
return;
}
else
MessageBox.Show("文件存在");
}
但是,当把pp.txt文件的生成操作修改为"内容",复制到输出目录为"始终复制",上面的代码就能找到文件了。
于是,我有了下面的问题:
1:生成操作为"Resource"的话,那就意味着pp.txt是资源文件了吧,也就是程序集资源,它是编译到应用程序的主可执行程序集中去了的,这样,都找不到吗?
2:那为什么改成"内容",就能找到了呢?
------解决方案--------------------跟Resource, Content没关系。
只有复制到输出目录为"复制"的时候,这个图片才能复制到debug目录下,跟.exe文件一个目录。
if (File.Exists(s1)) 就是在.exe所在的目录寻找这个图片,所以只有输出目录设置为"复制"的时候,文件才会被copy到那里,上面代码才能找到文件。
------解决方案--------------------生成操作位资源或内容。都是可以找到文件的,只不过查找的方式不同而已。
http://www.cnblogs.com/ListenFly/archive/2013/03/13/2953096.html