3

这里是环境:

  • 2个便携式类库:
    • 基础库(.NET 4.5、SL4、WP 7.5、Win App Store);
    • 主库(.NET 4.5、SL4、WP 7.5、Win App Store):
      • Windows Azure 移动服务 v 1.0.1 包;
  • 1个测试项目(.NET 4.5);
    - Windows Azure 移动服务 v 1.0.1 包;

当我尝试在调试中运行测试项目时,我收到以下错误消息:

未找到当前平台的 Windows Azure 移动服务程序集。确保当前项目引用 Microsoft.WindowsAzure.Mobile 和以下特定于平台的程序集:Microsoft.WindowsAzure.Mobile.Ext。

它发生在以下行:

private IMobileServiceClient _mobileService = new MobileServiceClient(
        "TheUrl",
        "TheKey"
        );

由于我在两个项目(主库、测试项目)上都安装了包,我无法理解我与错误消息有什么关系,有什么灯吗?

4

3 回答 3

3

是的,这个花了我一些时间才找到,但它位于最明显的位置:https ://components.xamarin.com/view/azure-mobile-services/

这家伙也搞定了:http: //blog.csainty.com/2013/12/quick-tip-azure-mobile-services-xamarin.html

  • 在 iOS 上运行时,如果您遇到未找到当前平台的 Windows Azure 移动服务程序集错误,请确保调用Microsoft.WindowsAzure.MobileServices.CurrentPlatform.Init();您的 iOS 应用程序。

  • 如果您在项目中遇到CryptographicException使用此组件的情况Xamarin.Android,请注意,只有在打开所有错误或 Xamarin Studio 中的等效项时才会出现这种情况。异常发生在单 HTTPS 基础架构中,会自动捕获和处理,不会影响您的应用程序。

于 2015-10-13T04:50:26.647 回答
0

在您的测试项目中,您应该创建 IMobileServiceClient 的 Mock,然后在 Mock 上设置您预期的操作。尝试查看 Rhino Mock 以了解如何模拟接口进行测试

    private IMobileServiceClient client = MockRepository.GenerateMock();
于 2014-01-28T11:17:55.420 回答
0

确保在 AppDelegate 中调用 CurrentPlatform.Init() 函数。IOS 似乎是唯一需要特定调用才能工作的平台。此外,我在 System.RunTime、System.Threading 等的多个程序集引用中遇到了错误,我需要删除这些引用以避免歧义。

于 2015-12-19T22:52:20.190 回答