C# 开发编程

C#编程一般针对微软.NET系列(包括.NET Framework 和 .NET Core)工具和Runtime

打包url和unit testing。 我的环境有问题吗?

所以我有一个很好的小MVVM解决方案,而且工作得很好。 我有一个标题栏的视图模型,根据应用程序的状态调整图标等。我已经完成验收测试,视图模型工作得很好。 所以我想对这个视图模型的行为进行unit testing 。 我创建了我的unit testing项目,为视图模型添加了一个新的unit testing,并编写了一个简单的冒烟测试。 (即给定模拟依赖项,类将实例化)。 巴姆,不 但是,正常运行时该类工作正常。 经过进一步检查,我的错误如下: TestInitialize threw exception: System.UriFormatException: Invalid URI: Invalid port specified. 因此,在调用堆栈之后,我得出的结论是,用于加载资源流的包URL是踢错误的。 pack://application:,,,/Operations.Shell;component/Media/Images/User_Normal.png (注意: Operations.Shell是程序集名称,/ /Media/Images/User_Normal.png / /Media/Images/User_Normal.png / /Media/Images/User_Normal.png是图像路径/名称,此包URL在实践中有效。) 我的User_Normal.png包含的URL是否存在,文件是否存在,资源是否已正确打包到程序集中(使用reflection器检查)。 问题来自System.Uri类无法解释包URL。 这是我迷路的地方 。 为什么这不适用于测试范围。 我在我的测试项目中引用了所有WPF程序集: WindowsBase PresentationCore PresentationFramework System.Xaml 我错过了什么? 更新 好吧原来的问题是UriHandler没有注册包url。 (感谢Julien Lebosquain)现在已经修复了它仍然存在问题。 TestInitialize threw exception: System.NotSupportedException: The URI prefix is not recognized. […]