如何从控制台应用程序打开 Microsoft Maps

How do I open up Microsoft Maps from a console application

我正在使用 .Net 5,我正在尝试创建一个简单的应用程序,从这个控制台应用程序调用 Microsoft Maps。

我从这段代码开始:

static void Main(string[] args)
{
  Console.WriteLine("Hello World!");

  Uri uri = new Uri("bingmaps:?rtp=adr.Mountain%20View,%20CA~adr.San%20Francisco,%20CA&mode=d&trfc=1");
  var launcherOptions = new System.Windows.System.LauncherOptions();
  launcherOptions.TargetApplicationPackageFamilyName = "Microsoft.WindowsMaps_8wekyb3d8bbwe";
  await Launcher.LaunchUriAsync(uri, launcherOptions);
}

但我找不到 System.Windows.System 让它工作。我在哪里可以找到这个命名空间,或者我应该换一种方式吗?

这是一个控制台应用程序,而不是 windows 应用程序,如果您想使用 windows 库,您必须将它们添加到项目中,或者您可以使用此代码:
首先,我尝试直接从应用程序 运行 映射,但它有一些限制,所以我用 cmd.exe

string a = "bingmaps:?rtp=adr.Mountain%20View,%20CA~adr.San%20Francisco,%20CA&mode=d&trfc=1";
System.Diagnostics.Process cmd = new System.Diagnostics.Process();
cmd.StartInfo = new System.Diagnostics.ProcessStartInfo("cmd.exe"); 
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.Start();
cmd.StandardInput.WriteLine($"start {a}");
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
cmd.WaitForExit();

对我有用