如何从主要方法运行showComposeNewEmailAsync

时间:2019-07-07 10:59:52

标签: c#

我正在尝试运行以下功能: https://docs.microsoft.com/en-us/uwp/api/windows.applicationmodel.email.emailmanager.showcomposenewemailasync

首先,我对异步编程甚至C#并不太了解,但是需要拼命运行此方法,因此这里可能需要更多帮助。 从我的主要方法。 我目前有:

    static void Main(String[] args) {
        EmailMessage email = new EmailMessage();
        await EmailManager.ShowComposeNewEmailAsync(email);
    }

但是我收到一条错误消息:

Program.cs(26,4):错误CS4033:“ await”运算符只能在异步方法中使用。考虑标记此m 使用“异步”修饰符将其返回类型更改为“任务”。 [C:\ Projects \ C \ UapHello \ uaphello.csproj]

任何帮助都将受到欢迎。谢谢

更新:

我运气不错,使用以下方法:

    static void Main(String[] args) {
        // emailmessage
        EmailMessage email = new EmailMessage();
        Task.Run(async () => { await EmailManager.ShowComposeNewEmailAsync(email); }).Wait();
    }

不幸的是,当我运行它时,我收到错误消息:

未处理的异常:System.AggregateException:发生一个或多个错误。 ---> System.Exception:不支持该请求。 (来自HRESULT的异常:0x80070032)    在Windows.ApplicationModel.Email.EmailManager.ShowComposeNewEmailAsync(EmailMessage消息)    在uaphello.Program。<> c__DisplayClass0_0。 d.MoveNext()在C:\ Projects \ C \ UapHello \ Program.cs:第18行    ---内部异常堆栈跟踪的结尾---    在System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)    在System.Threading.Tasks.Task.Wait(Int32毫秒超时,CancellationToken cancelToken)    在System.Threading.Tasks.Task.Wait()    在uaphello.Program.Main(String [] args)中的C:\ Projects \ C \ UapHello \ Program.cs:line 18

我基本上是想在Windows 10中打开带有附件的默认邮件应用程序。我的想法是创建一个exe文件来执行此操作,因为我的主要应用程序是电子应用程序,无法访问uwp api。 谢谢。

0 个答案:

没有答案