Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 如何从DLL向用户发送表单/通知?_Visual Studio_Winforms_Dll_Dllimport_Toast - Fatal编程技术网

Visual studio 如何从DLL向用户发送表单/通知?

Visual studio 如何从DLL向用户发送表单/通知?,visual-studio,winforms,dll,dllimport,toast,Visual Studio,Winforms,Dll,Dllimport,Toast,我有一个动态链接库。 并希望从此dll向用户(将引用我的dll的用户)发送表单/通知 我只想在我的dll中的一个类中构建一个函数,这样->一旦用户运行其本地程序并引用my dll->并调用dll中存在的函数->该特定函数应该向用户显示一个表单/通知(来自dll中的某些功能)?有没有其他方法可以达到同样的效果 我尝试将库从类库类型转换为Winform,这会将其属性更改为可执行文件,并且需要存在主函数。但我只是在构建一个可以被引用的库,当用户调用它时,它会在末尾生成一个表单吗 我尝试了toast通知

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

我只想在我的dll中的一个类中构建一个函数,这样->一旦用户运行其本地程序并引用my dll->并调用dll中存在的函数->该特定函数应该向用户显示一个表单/通知(来自dll中的某些功能)?有没有其他方法可以达到同样的效果

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

我尝试了toast通知,但没有。show()方法在新toast ContentBuilder()中不起作用,而我在库中的函数中调用它。另外,作为一个idenpendant控制台应用程序,它工作得很好



是否有一种方法可以让toast通知项目与我的库的解决方案相同,然后从我的主库中的类调用->toast notif的不同项目中的函数,并生成toast通知。

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

首先,请创建名为
TestDll
的类库(目标框架是.NET Core 3.1

第二步,您可以在类库中安装nuget包
Microsoft.Toolkit.Uwp.Notifications

第三个,您可以添加一个类并参考以下代码示例

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();
        }
    }
}
第四个,请重建类库并创建控制台应用程序(目标框架为.NET Core 3.1)

第五,我们可以将项目引用TestDll添加到控制台应用程序中,并在main方法中编写以下示例

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

        }
最后,我们可以在计算机右下角看到如下通知:


除了之外,“toast notifications not.show()method”的问题可能是您使用了.net标准框架,您可以通过切换到.net核心框架来解决问题。

等等!我做了吐司通知的事情,并在我的吐司上写了完全相同的事情。你是从哪里得到这个烤面包片的形象的?不是你自己做的吗??这是一个厄运吗???@plsHELP,我运行应用程序后从屏幕右下角获得图像。您当前的问题是什么?AddText(“Ev2编译器库”)。这部分-实际上我写的是我的代码,参考了我的项目。看到同样的文字,我感到震惊。因此,我想知道这条线的来源。目前,我的整个库都在.net framework中,.cspproj没有提到它,它只是显示在dependencies/中,因此,我对如何更改感到困惑。我将.csproj文件中的目标框架更改为.net core 3.1,但仍然出现了有关.net标准的错误,并且它没有脱离依赖关系section@plsHELP,根据我的进一步测试,在我将目标框架更改为.net core 3.1之后,我没有任何错误。你重建了这个项目吗?如果仍然不起作用,另一种解决问题的方法是直接创建控制台应用(.net core 3.1),而不是更改target-framework。哦,好的,谢谢!这有帮助!