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);
}