【发布时间】:2017-02-27 05:14:48
【问题描述】:
我的 WPF 应用程序中有一个托盘图标。当我在 Visual Studio 中调试时,它运行良好:
System.Windows.Forms.NotifyIcon ni = new System.Windows.Forms.NotifyIcon();
ni.Icon = new Icon("../../logo,ico");
但我发布后,App 抛出异常说可以找到托盘图标的图片路径。我在网上搜索了很多资源,我看到很多解决方案都使用包,但似乎包只接受 Uri 变量,并且托盘图标的路径必须是字符串。我还尝试在项目解决方案下创建一个名为 Resource 的文件夹,并将图像文件放入其中。这是一样的:在调试时工作,但在发布后无法工作..
所以根据@WPF Germany 的建议,我通过 Clickonce 发布应用后解决了路径问题。但是,如果我将 App 快捷方式复制到系统启动文件夹,它会在 C:\WINDOWS\system32 中找到 ico,这并不容易解决,因为 systems32 通常需要管理员权限才能访问。有什么想法吗?
【问题讨论】:
-
为什么不在你的Visual Studio项目的Resources.resx文件中添加一个Icon并通过
ni.Icon = Properties.Resources.Logo加载呢?