Mar*_*ath 4 clickonce winforms
我有一个WinForms应用程序,我试图用ClickOnce部署.它包含一个可执行文件和一个依赖的dll,以及一个名为"Map"的文件夹中的一堆松散的xml文件.xml文件似乎在生成的clickonce包中都存在且正确,并且都包含在.manifest文件中.
但是,当我安装并运行时,使用以下代码给我一个目录未找到异常:
string appPath = Path.GetDirectoryName(Application.ExecutablePath);
string mapPath = Path.Combine(appPath, "Maps");
foreach (string xmlFile in Directory.GetFiles(mapPath, "*.xml"))
Run Code Online (Sandbox Code Playgroud)
当我查看"appPath"(即C:\Users\Mark\AppData\Local\Apps\2.0\0H6ZLXXN.30V\3TNO49OJ.8JH\midi..tion_5194807c0e95e913_0000.0004_b9d52c73fd4d58ad\)时,有app可执行文件和dll,但Maps文件夹不存在.
我究竟做错了什么?这是用我的应用程序捆绑额外文件的正确方法吗?我实际上希望Maps文件夹能够在某个地方用户轻松访问并添加自己的文件.
Mar*_*ath 12
好吧,我最终找到了一个帮助我的代码片段.xml文件已经放入ClickOnce"数据目录"(可以使用项目设置对话框的"发布"选项卡上的"应用程序文件"按钮进行配置.然后,您可以按如下方式访问数据目录:
private string GetDataDirectory()
{
if (ApplicationDeployment.IsNetworkDeployed)
{
return ApplicationDeployment.CurrentDeployment.DataDirectory;
}
else
{
return Application.StartupPath;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2631 次 |
| 最近记录: |