ToastContentBuilder' 不包含 'Show' 的定义

ToastContentBuilder' does not contain a definition for 'Show'

我是 c# 新手,我第一次尝试 Visual Studio 代码是使用 ToastContentBuilder 在 windows 10 上显示通知 来自命名空间 Microsoft.Toolkit.Uwp.Notifications 这是我的代码:

using Microsoft.Toolkit.Uwp.Notifications;

namespace cs
{
class Program
{
    static void Main(string[] args)
    {
     
        new ToastContentBuilder ()
        .AddArgument("action","hello")
        .AddText("my first try in csharp)")
        .Show();
       
    }
}

}

这是错误:'ToastContentBuilder' 不包含 'Show' 的定义并且没有可访问的扩展方法 'Show' 接受类型 'ToastContentBuilder' 的第一个参数可能是找到(您是否缺少 using 指令或程序集引用?)

Show() 仅适用于 #if WINDOWS_UWP 条件编译符号。查看来源:

https://github.com/windows-toolkit/WindowsCommunityToolkit/blob/master/Microsoft.Toolkit.Uwp.Notifications/Toasts/Builder/ToastContentBuilder.cs

尝试使用 UWP 项目模板而不是控制台应用程序。

如果您将 TargetFramework 设置为更高版本,这现在可以工作 - Microsoft 文档说 Set your TFM to net5.0-windows10.0.17763.0,尽管我只使用 net6.0-windows10.0.20348.0

进行了测试

参见https://docs.microsoft.com/en-us/windows/apps/design/shell/tiles-and-notifications/send-local-toast?tabs=uwp#step-1-install-nuget-package

还有一个社区工具包可让您通过代码在 Windows 上发送 toast 通知。 Doc 说它支持所有 C# 应用程序类型,包括 WPF、UWP、WinForms 和控制台:https://libraries.io/nuget/CommunityToolkit.WinUI.Notifications

这是我今天编写的一个程序,用于从命令行实用程序创建 Windows 通知:

https://github.com/roblatour/notifyondemand

是用vb.net写的,我用的是.net framework 4.8.