用vs的ClickOnce发布应用程序时,数据文件并不会自动发布,下面讨论一下怎么手动发布。
1.数据文件打包到发布文件:
VS资源管理器中,把数据文件加入到项目。这样用 ClickOnce发布时,ClickOnce会自动把数据文件打包到发布文件。
在ClickOnce发布构成中,application files选择时,你会看到数据文件已经加入,其类型为Data File
2.数据文件访问:
客户端安装后,安装程序会把该数据文件发布到你的系统。但数据文件的目录不是你的应用程序工作目录。在你的程序中可以使用Application.LocalUserAppDataPath或ApplicationDeployment.CurrentDeployment.DataDirectory来获取数据文件的位置,这样就可以访问了。
这样也带来了一个问题,你调试时数据文件的路径和发布后的路径是不同的,因此调试程序和发布程序无法使用相同的代码。也就是说,用ClickOnce发布时,你必须为访问数据文件写一段专门的代码,使用vs的预定义也许是一种好的选择。