如何从 DLL 向用户发送 form/notification?

How to send a form/notification to user from a DLL?

我有一个动态链接库。 并希望从此 dll 向用户(将引用我的 dll)发送 form/notification。

我只想在我的 dll 中的一个 class 中构建一个函数,这样 ->,一旦用户运行他的本地程序并引用我的 dll -> 并调用 dll 中存在的函数 - > 该特定功能应该向用户显示 form/notification(来自 dll 中的某些功能)?还有其他方法吗?

我尝试将库从 class 库类型转换为 Winform,这会将其属性更改为可执行文件,并且会要求存在主函数。但是我只是在构建一个可以引用的库,当用户调用时会在他们的末尾生成一个表单?

我尝试了 toast 通知,但 .show() 方法在 new ToastContentBuilder() 中不起作用,而我在我的库中调用了它。否则,作为独立的控制台应用程序,它运行良好


有没有一种方法可以让我在与我的库相同的解决方案中有一个用于 toast 通知的项目,然后从我的主库中的 class 调用 -> 这个不同项目中存在的函数toast notif 并将生成 toast 通知。

您可以尝试以下步骤从 dll 向用户发送通知。

首先,请创建一个名为[=12=的class库(目标框架是.NET Core 3.1) ].

其次,您可以在 class 库中安装 nuget 包 Microsoft.Toolkit.Uwp.Notifications

第三,可以加一个class,参考下面代码示例

namespace TestDll
{
    public class Example
    {
        public void Setnotifications()
        {
            new ToastContentBuilder().AddArgument("action", "viewConversation")
.AddArgument("conversationId", 9813)
.AddText("Ev2 Compiler Library")
.AddText("Allow sending build Data to Microsoft")
.AddButton(new ToastButton()
    .SetContent("Yes")
    .AddArgument("action", "reply")
    .SetBackgroundActivation())
    .AddButton(new ToastButton()
    .SetContent("No")
    .AddArgument("action", "like")
    .SetBackgroundActivation())
.SetToastScenario(ToastScenario.Reminder)
.Show();
        }
    }
}

第四,请重建class库并创建一个控制台应用程序(目标框架是.NET Core 3.1)。

第五,我们可以在console app中添加项目引用TestDll,在main方法中写入如下示例

static void Main(string[] args)
        {
            Example example = new Example();
            example.Setnotifications();

        }

最后,我们可以在电脑右下角看到如下通知:

除了,关于'toast notifications but not .show() method'的问题可能是你使用了.net standard框架,你可以通过以下方式解决问题更改为 .net 核心 框架。