我正在创建一个桌面应用程序,用户可以在其中添加人物及其图像。当前,图像文件夹位于bin文件夹中,但是当我发布应用程序并在客户端PC上运行时,图像文件夹丢失了。
OR
我可以通过编程方式在Project->Properties->Resources
中添加图像吗?
当前,当我尝试在PMS Project
中使用此Images文件夹时,然后将图像添加到bin folder
中存在的文件夹中。如何在此文件夹中添加?
目前,我尝试访问的是
string path = System.IO.Directory.GetCurrentDirectory();
Bitmap imgImage = new Bitmap(pictureBox1.Image);
System.IO.File.Copy(ImageName, Path.Combine(appPath, CNIC + Path.GetFileName(ImageName)), true);
我还想将图像文件夹保留在安装文件夹中。 但是它在bin文件夹中。我该如何实现?
答案 0 :(得分:1)
如果您打算在应用程序中存放一个私人文件夹,则应使用标准规格。您应该在SpecialFolder枚举
中定义的Environment.ApplicationData内部创建一个文件夹。您的应用程序的启动代码中可能会有类似的内容
string commonFolder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
string appFolder = Path.Combine(commonFolder, "PMS");
string imgFolder = Path.Combine(appFolder, "PoliceImages");
Directory.CreateDirectory(imgFolder);
现在这些字符串变量应该存储在某种全局配置静态类中,您可以在其中从应用程序的任何部分检索它们
答案 1 :(得分:1)
如果要自动创建文件夹,则可以添加将进入该文件夹的基本图像,并标记其 Build Action (构建操作)和 Copy to Output Directory (复制到输出目录)属性在其属性窗口中。这样可以确保文件夹已创建,并且图像也将复制到已发布的副本中。
或者,如果在开发时没有映像,则可以使用System.IO类在客户端的安装位置创建文件夹。喜欢-
System.IO.Directory.CreateDirectory("ss")
但是,我想提一下,允许用户将图像添加到bin的子文件夹中不是一种好习惯,除非添加后它将成为应用程序本身的一部分。如果是内容或数据,请尝试将其保留在安装了应用程序二进制文件的文件夹中。可能
使用适当的数据库存储。
C:\ Users \ [USERNAME] \ AppData \ Roaming
var目录= Environment.GetFolderPath(Environment.SpecialFolder.AppData);
OR
var目录= Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
或者只是D:\ Temp \ [ApplicationName]