Windows 窗体应用程序:在应用程序安装时添加文件
本文关键字:应用程序 添加 安装 文件 窗体 Windows | 更新日期: 2023-09-27 18:36:59
我的 WF 应用程序需要一个 excel 文件才能正常工作。有没有办法将该文件添加到项目中,当用户安装我的应用程序时,它会自动将自己置于默认路径中?
谢谢
可以将该文件嵌入到可执行程序集中:
-
将文件添加到项目中。
-
在"解决方案资源管理器"中选择该文件,然后打开"属性"(F4)。
-
将"生成操作"设置为"嵌入的资源"。
-
在代码中,加载资源流并将其复制到目标文件流:
var assembly = Assembly.GetExecutingAssembly(); using (var resourceStream = assembly.GetManifestResourceStream("YourNamespace.ExcelFile.xlsx")) using (var targetStream = File.OpenWrite("targetFile.xlsx")) { resourceStream.CopyTo(targetStream); }
确保
YourNamespace
与将 Excel 文件放入项目中的目录结构的命名空间匹配。
此知识库文章详细介绍了该过程。
将文件添加到项目中,并将其生成操作设置为"如果较新则复制"。 之后,在安装应用程序时,它应该与二进制文件一起部署。 但是,请注意,此副本应被视为只读。
如果需要在安装后保存对文件的更改,请将其复制到用户配置文件中的应用程序数据文件夹中:
var appDataFolder = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
var writableFilePath = Path.Combine(appDataFolder, "MyApplication''MyExcelFile.xlsx");
// ensure directory exists before copying to it:
System.IO.Directory.CreateDirectory(System.IO.Path.GetDirectoryName(writableFilePath));
。并使用此文件而不是只读版本(只要它已存在)。