System.UriFormatException:无效的URI:指定了无效的端口。在c#

问题描述:

当我尝试单元测试,System.UriFormatException:无效的URI:指定了无效的端口。在c#

我结束了错误,指出'System.UriFormatException:无效的URI:无效的端口指定。' 显示错误的代码是

public Dictionary<SensorMode, Uri> ImageSrc = new Dictionary<SensorMode, Uri>() 
     { 
      {SensorMode.f, new Uri("pack://application:,,,/Resources/TS.png") },//towards to sensor image 
      {SensorMode.b, new Uri("pack://application:,,,/Resources/AS.png") },//away from the sensor image 
      {SensorMode.c, new Uri("pack://application:,,,/Resources/F.png") },//fast moving image 
      {SensorMode.p, new Uri("pack://application:,,,/Resources/S.png") },//slow moving image 
      {SensorMode.x, new Uri("pack://application:,,,/Resources/fail.png")}//fail image 
     }; 

任何人都可以帮助我解决这个问题。

这是因为您在执行此代码时pack://方案尚未注册。此方案在创建应用程序对象时进行注册。您可以在测试夹具的设置中添加以下代码:

[SetUp] 
    public void OnTestInitialize() 
    { 
     UriParser.Register(new GenericUriParser(
     GenericUriParserOptions.GenericAuthority), "pack", -1); 
    }