SpecFlowPlusRunnerAssemblyHook 抛出异常 Invalid URI: The hostname could not be parsed

Posted

技术标签:

【中文标题】SpecFlowPlusRunnerAssemblyHook 抛出异常 Invalid URI: The hostname could not be parsed【英文标题】:SpecFlowPlusRunnerAssemblyHook throwing exception Invalid URI: The hostname could not be parsed 【发布时间】:2021-12-17 04:08:30 【问题描述】:

我正在将 SpecFlow 与 .net 3.1 应用程序一起使用。当我运行/调试测试时,我在一些非常深的 dll 中不断收到错误。它似乎与 ConfigurationManager 相关。

2021-11-02T09:12:27.7102541-06:00:2021-11-02T09:12:27.7100969-06:00: 程序集解析 System.Private.Uri.resources,版本=4.0.6.0,文化=en , PublicKeyToken=b03f5f7f11d50a3a 2021-11-02T09:12:27.7366747-06:00:2021-11-02T09:12:27.7357023-06:00:OutOfProcessTestAssemblyExecutor:RunTest 错误:System.Configuration.ConfigurationErrorsException:配置系统初始化失败 ---> System.UriFormatException:无效的 URI:无法解析主机名。 在 System.Uri.CreateThis(字符串 uri,布尔值 dontEscape,UriKind uriKind) 在 System.Uri..ctor(字符串 uriString) 在 System.Configuration.ClientConfigPaths..ctor(字符串 exePath,布尔值 includeUserConfig) 在 System.Configuration.ClientConfigPaths.GetPaths(字符串 exePath,布尔值 includeUserConfig) 在 System.Configuration.ClientConfigurationHost.get_ConfigPaths() 在 System.Configuration.ClientConfigurationHost.GetStreamName(字符串 configPath) 在 System.Configuration.ClientConfigurationHost.get_IsAppConfigHttp() 在 System.Configuration.Internal.DelegatingConfigHost.get_IsAppConfigHttp() 在 System.Configuration.ClientConfigurationSystem..ctor() 在 System.Configuration.ConfigurationManager.EnsureConfigurationSystem()

另一个症状是测试被跳过。我已经调试了源代码,这似乎是一个路径问题,但我找不到任何有关 System.Configuration.ClientConfigurationSystem 库的文档。

【问题讨论】:

【参考方案1】:

将项目移动到较小的路径似乎是解决方法。 url C:\Users\mynamee\source\repos\tfs\SomesProjMicroservices\TestAutomation\BRAN\AB.RSS.SomesProj.Microservices.TestAutomation\AB.RSS.Microservices.Common.Tests\Steps\SomereallyLongClasname 可能有问题

【讨论】:

以上是关于SpecFlowPlusRunnerAssemblyHook 抛出异常 Invalid URI: The hostname could not be parsed的主要内容,如果未能解决你的问题,请参考以下文章