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 应用程序无法通过文件关联打开的主要内容,如果未能解决你的问题,请参考以下文章

如果我使用“打开方式”,C# WPF 应用程序会静默崩溃

WPF 应用程序文件关联:DefaultIcon 不起作用

Win32 使用 SetCurrentProcessExplicitAppUserModelID 关联多个进程 在任务栏合并 WPF 多进程窗口

WPF游览器程序为啥启动时候打开一个world文件而不运行程序?

64位Win7中7zip无法关联文件的问题

无法在 Mac 上使用 qt 应用程序打开文件