对类型 INavigationService 的引用声称它在 Prism 中定义,但找不到

reference to type INavigationService claims it is defined in Prism, but it could not be found

更新到 Xamarin.Forms 3.1 后。和 Prism.Forms 7.1.0.279-pre,我的 NUnit 项目似乎找不到 INavigationService。 蜜蜂说;我可以创建 INavigationService 的模拟对象,但在尝试将其注入 ViewModel 时失败。

"Reference to type 'INavigationService' claims it is defined in 'Prism', but it could not be found".

因此,我们无法运行 对视图模型进行任何测试。

PCL 和 NUnit 项目使用相同版本的 .Net、XF 和 Prism。 我也试过不同的版本,pre 和 stable。

谁能给我指出正确的方向? 在我们更新解决方案之前,NUnit 项目运行良好。

可能有点晚了,但我遇到了同样的问题。我发现我的测试项目 .csproj 文件引用了 Prism Core 的 'net45' 版本,而所有其他 Prism 包都引用了 'netstandard2.0' 版本。手动编辑并更改 'net45' 为 'netstandard2.0'.

后一切正常

按照上述建议,我不得不将单元测试 csproj 文件中的 Prism.Core 包引用更改为从 net45 指向 netstandard 2.0

来自这里:

<HintPath>..\packages\Prism.Core.7.1.0.431\lib\net45\Prism.dll</HintPath>

为此:

<HintPath>..\packages\Prism.Core.7.1.0.431\lib\netstandard2.0\Prism.dll</HintPath>

我的单元测试项目是 .NET Framework 4.7.1 NUnit 项目