微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在RoslynPad

如何解决如何在RoslynPad

我使用以下代码使用RoslynPad显示OpenFileDialog,它已编译并运行,但是没有对话框出现,因此该代码段将永远运行:

#r "framework:Microsoft.WindowsDesktop.App"

using System.Windows.Forms;

var fd = new OpenFileDialog
{
    Filter = "Solution files (*.sln)|*.sln"
};

if (fd.ShowDialog() == DialogResult.OK)
    Console.WriteLine(fd.FileName);

使OpenFileDialogroslynpad一起工作的正确方法是什么?

环境:

  • 操作系统:Windows 10 Pro 64位(2004年)
  • roslynpad:从最新的master分支构建。
  • .NET Core:3.1.402

解决方法

检查回购后,我可以通过添加以下行来使OpenFileDialog工作:

await Helpers.RunWpfAsync();

完整的代码如下:

#r "framework:Microsoft.WindowsDesktop.App"

using Microsoft.Win32;

await Helpers.RunWpfAsync(); // initializes a dispatcher thread

var fd = new OpenFileDialog
{
    Filter = "Solution files (*.sln)|*.sln"
};

if (fd.ShowDialog() == true)
    Console.WriteLine(fd.FileName);

不确定这是否是最好的方法,但是它可以正常工作!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。