Skip to main content
 首页 » 编程设计

wpf之部署 WPF 项目后的 XamlParseException

2024年12月31日33mate10pro

我一直在尝试部署我的 WPF 应用程序,我使用安装向导创建了一个安装项目。我添加的唯一项目输出是 Primary。构建此程序并安装程序后,一旦我单击桌面上的 exe,我就会弹出一个“我的程序已停止工作”的弹出窗口,因此我单击“调试程序”,我看到了

An unhandled exception of type 'System.Windows.Markup.XamlParseException' occurred in PresentationFramework.dll

Additional information: 'Set connectionId threw an exception.' Line number '10' and line position '9'.


这个异常(exception)并没有为我指明要解决什么的任何方向。我的应用程序中的任何地方都没有“connectionId”。
由于我的系统托盘的 NotifyIcon,我之前遇到过 XAMLParseException,但通过将图标添加到我的 exe 路径中,我已经解决了这个问题。我认为这可能是问题所在,因此我将图标与所有其他项目输出一起添加到了我的设置项目中。还是行不通。
我知道这是一个模糊的错误,但任何帮助都将不胜感激,我的应用程序根本无法运行。谢谢!

请您参考如下方法:

这通常是由于没有将所有依赖项都复制到输出中造成的。正如您所说,错误消息不是很有帮助,但我会检查您的应用程序是否具有可用于解析解析类型的所有必要依赖项。

通常,对于引用的程序集,将 Copy Local 设置为 true 就足够了,但我遇到过一些引用本身引用程序集的情况,因此也有必要显式添加这些引用。

更新:

@BENN1TH 的重要补充。

如果您想查看需要哪些组件:

一旦我发布并安装了我的项目(在调试 VS2013 Desktop 中工作正常,没有错误等),就会遇到相同类型的问题,但使用了来自 http://geekswithblogs.net/lbugnion/archive/2007/03/14/108728.aspx 的建议哇!安装的项目正在工作..

try 
 
{ 
  InitializeComponent(); 
} 
catch ( Exception ex ) 
{ 
  // Log error (including InnerExceptions!) 
  // Handle exception 
}