我有一个WPF / C#应用程序。它具有一个按钮,可以使用以下代码在幻灯片放映模式下运行特定的PowerPoint演示文稿:
public bool OpenHelpFile()
{
ProcessStartInfo processStartInfo = new ProcessStartInfo();
processStartInfo.FileName = "powerpnt.exe";
// the /S option starts PowerPoint in slide show mode
processStartInfo.Arguments = "/S \"Resources\\Midas 3.pptx\"";
try { Process.Start(processStartInfo); }
catch { return false; }
return true;
}
当我在Visual Studio(2010)中进行调试时,甚至在使用“发布”解决方案配置运行(而非调试)时,此方法都可以完美地工作。但是,使用
ClickOnce
发布应用程序后,该按钮不再打开演示文稿。相反,我收到此警告:演示文稿文件位于解决方案中名为“资源”的文件夹中,并且在其属性窗口中,其
Build Action
为None
,并且Copy To Output Directory
属性设置为Copy Always
。我相信这些设置可能是问题所在,但我不确定要使用哪些选项。将Build Action
设置为Resource
并没有帮助,因为这会将文件嵌入到PowerPoint无法访问该文件的程序集中。我还搜索了隐藏的
AppData
文件夹,其中安装了ClickOnce
应用程序,并且在那里找不到演示文稿文件。问题也可能在于ClickOnce
。如果有人可以阐明这个问题,我将不胜感激。提前谢谢了。
更新>>>
阅读@Osama Javed的第二个链接所指向的页面后,我找到了解决方案...忽略第一个链接。
事实证明,我要做的就是将文件的
Build Action
更改为Content
。这会将文件添加到Application Files
窗口(可在“项目属性”页面的“发布”选项卡中找到),在该窗口中可以将其包含在部署文件列表中。
最佳答案
尝试将文件标记为数据using this link
这也可能有帮助
Adding Files to a Click Once Deployment
关于c# - 当从Visual Studio(而不是ClickOnce发布版本)运行C#WPF应用程序时,PowerPoint文件打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15949224/