【问题标题】:UWP Launch file error 'the remote procedure call failed'UWP 启动文件错误“远程过程调用失败”
【发布时间】:2016-03-10 18:31:36
【问题描述】:

我正在用 C# 为 UWP 编写一个播放器。

我在启动文件时遇到问题。

当应用程序打开时,启动文件效果很好,但是当我关闭应用程序并启动文件时,它给了我错误: '远程过程调用失败'

我设置了 fileTypeAssociation,这里是我在 App.xaml.cs 中启动的一些代码:

protected override void OnFileActivated(FileActivatedEventArgs e)
{
    Frame rootFrame = CreateRootFrame();
    if (rootFrame.Content == null)
    {
        if (!rootFrame.Navigate(typeof(MainPage), e))
            throw new Exception("Failed to create initial page");
    }
    else
        rootFrame.Navigate(typeof(PlayerPage), e);
    Window.Current.Activate();
}

我该如何解决?

【问题讨论】:

    标签: c# windows-10 win-universal-app


    【解决方案1】:

    error '远程过程调用失败'

    这种崩溃通常发生在应用启动、激活或页面加载阶段。

    由于在应用程序打开期间启动文件时您的应用程序工作正常,我只是假设您在 OnLaunched(LaunchActivatedEventArgs e) 方法中的代码工作正常。

    而且您没有发布CreateRootFrame() 的代码,我无法根据您发布的代码真正重现您的问题。我像这样更改了您的代码,它在我身边运行良好:

    protected override void OnFileActivated(FileActivatedEventArgs args)
    {
        //base.OnFileActivated(args);
        var rootFrame = new Frame();
        rootFrame.Navigate(typeof(PlayerPage), args);
        Window.Current.Content = rootFrame;
        Window.Current.Activate();
    }
    

    这很简单,您只需要导航到rootFrame中的播放器页面即可。

    我在这里写了一个很简单的demoLaunchAppFromFile,大家可以测试一下。只需下载并运行它,然后关闭此应用,选择 .mp4 或 .wmv 文件并使用此应用打开,它将导航到 PlayerPage 并播放文件。

    也许你可以分享你的CreateRootFrame()方法代码,或者告诉我从文件启动应用程序时你还需要做什么,我会继续跟踪这个问题。

    【讨论】:

    • 感谢您的回复。您的代码运行良好。看起来 CreateRootFrame 无法创建框架。非常感谢
    猜你喜欢
    • 2013-06-13
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 2014-01-23
    • 1970-01-01
    • 1970-01-01
    • 2017-02-03
    相关资源
    最近更新 更多