WPF 应用程序无法通过文件关联打开
Posted
技术标签:
【中文标题】WPF 应用程序无法通过文件关联打开【英文标题】:WPF application can not open by file associate 【发布时间】:2020-08-02 15:11:38 【问题描述】:我有一个 WPF 应用程序,我为 MVVM 使用 caliburn 微库。
public class AppBootstrapper : BootstrapperBase
protected override void OnStartup(object sender, StartupEventArgs eventArgs)
LoadUserConfigData();
if (eventArgs.Args.Count() != 0)
MessageBox.Show(eventArgs.Args[0]);
else
MessageBox.Show("no");
StartProgram();
这是我的 xaml
<Application x:Class="Mat.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Mat">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary>
<local:AppBootstrapper x:Key="bootstrapper" />
</ResourceDictionary>
<ResourceDictionary Source="/UIStyle;component/UIStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
我使用 NSIS 创建安装程序 exe 文件,并通过 NSIS 脚本注册文件关联。 但是当我双击文件时,除了光标正在加载之外什么都没有发生。
非常感谢您的建议。
【问题讨论】:
看来,你的问题主要是关于 NSIS 的。请您正确的标签并将您的脚本添加到问题中 我不认为问题是 NSIS,因为如果我卸载我的程序,然后单击(文件),打开并选择 bin/debug 文件夹中的 exe。它没有用。 @EricsNguyen:在 Visual Studio 中调试代码时会发生什么?哪里失败了? @mm8 从文件关联打开时如何在 VS 中进行调试。当我单击 VS 上的run
按钮时,它会运行我上面的代码并弹出消息框:no
你确定当你点击文件时参数看起来像你吗?您可以在代码的入口点wait for debugger,然后使用 Visual Studio 附加到进程以检查参数。此外,某种登录入口点可能非常有用
【参考方案1】:
我遵循@krzysztof skowronek 的指示,将我的应用程序进程附加到 Visual Studio 并进行调试。它不启动的原因是它得到了未处理(记录)的异常。
【讨论】:
以上是关于WPF 应用程序无法通过文件关联打开的主要内容,如果未能解决你的问题,请参考以下文章
Win32 使用 SetCurrentProcessExplicitAppUserModelID 关联多个进程 在任务栏合并 WPF 多进程窗口