由于 vb.net 中的 System.IO.FileNotFoundException,在 WinForm 应用程序中发送 UWP Toastnotification 失败

Sending UWP Toastnotification fails in WinForm app due to System.IO.FileNotFoundException in vb.net

我正在使用 vb.net(目标 .Net 4.7.2)构建一个 WinForm 应用程序,我想从 Windows UI 工具包中推送一个 ToastNotification。

到目前为止我做了什么: 我从 NuGet 安装了以下引用:

我正在使用以下函数构建通知

    Private Sub CreatePush()
    Try
        Dim template = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastImageAndText04)
        Dim textNodes = template.GetElementsByTagName("text")
        textNodes.Item(0).InnerText = title
        textNodes.Item(1).InnerText = content
        Dim imagePath As String = Application.StartupPath & "\Resources\harddrive_white.png"
        Dim imageNode = template.GetElementsByTagName("image")
        CType(imageNode.Item(0), Windows.Data.Xml.Dom.XmlElement).SetAttribute("src", imagePath)

        Dim notifier = ToastNotificationManager.CreateToastNotifier("appnamehere")
        Dim Notification = New ToastNotification(template)
        Notification.Tag = id
        AddHandler Notification.Activated, AddressOf Clicked
        AddHandler Notification.Dismissed, AddressOf Dismissed
        AddHandler Notification.Failed, AddressOf ToastFailed
        notifier.Show(Notification)
    Catch ex As Exception
        newLog("Failed showing toast notification. " & ex.Message, LogType.Exception)
        MsgBox(content, MsgBoxStyle.Information, title)
    End Try
End Sub

当 运行 函数时,应用程序停止并显示 System.io.Filenotfound 异常:

System.IO.FileNotFoundException: "The file or assembly "System.Runtime.InteropServices.WindowsRuntime, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" or a dependency on it was not found. The system cannot find the specified file."

我已经按照此处的说明表格进行操作 但这没有帮助。 有没有用Win10 ToastNotifications搭建winform app的经验? 代码构建没有错误,但显示警告,指出存在 system.runtime 包的版本冲突(重新安装没有帮助)。

System.IO.FileNotFoundException: "The file or assembly "System.Runtime.InteropServices.WindowsRuntime, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" or a dependency on it was not found. The system cannot find the specified file."

这个错误表示找不到System.Runtime.InteropServices.WindowsRuntime文件,通过测试,你可以添加关于这个dll文件的引用。

右击项目>添加引用>浏览,我在C:\Program Files (x86)\Reference中选择了这个文件Assemblies\Microsoft\Framework.NETFramework\v4.7.2\Facades路径(注意根据自己的实际情况找到这个文件夹),然后找到System.Runtime.InteropServices.WindowsRuntime.dll并添加。