2017-08-03 1 views
0

私のXamarin Formsアプリケーションで私が解決できないような奇妙な問題が発生しましたが、代わりに円で回っているようです。それは具体的に私のiOSプロジェクトに結びついているようで、アセンブリリファレンスMicrosoft.WindowsAzure.Mobileを囲んでいます。 iPhoneのシミュレータでアプリケーションを実行し、Azureからデータを取得する部分を表示しようとすると、次のメッセージが表示されます。Microsoft Azure Mobileサービスを使用しているときにXamarin Forms iOSアプリケーションがクラッシュする理由

System.InvalidOperationException:現在のプラットフォームのMicrosoft Azure Mobile Services アセンブリが見つかりませんでした。現在のプロジェクト が、プラットフォーム固有のアセンブリに続いてMicrosoft.WindowsAzure.Mobileと の両方を参照していることを確認してください。 Microsoft.WindowsAzure.Mobile.Ext。

全体のソリューションは、MyAppの(ポータブル)

  • Xamarin.Forms v2.3.4.247

    を使用:私は、私はすべて正しいの言及であると信じるものをインストールしているので、私は、これは奇妙な見つける

WindowsAzure.MobileServices 1.3.2

  • WindowsAzure.MobileService.SQLiteStore 1.0.1
  • MyApp.iOS

    • Microsoft.Azure.Mobile.Client 4.0.1
    • Microsoft.Azure.Mobile.Client.SQLiteStore 4.0.1

    は、私はおそらくiOSのプロジェクトのapp.configをが破損したか、おそらくいくつかの情報が不足していると思ったときに私は思いますこれらのナゲットパッケージをインストールしましたので、私は素早く見て、それはすべきであるように見えました。

    <?xml version="1.0" encoding="utf-8"?> 
    <configuration> 
        <runtime> 
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
         <dependentAssembly> 
         <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
         <bindingRedirect oldVersion="0.0.0.0-1.5.0.0" newVersion="1.5.0.0" /> 
         </dependentAssembly> 
         <dependentAssembly> 
         <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> 
         <bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" /> 
         </dependentAssembly> 
         <dependentAssembly> 
         <assemblyIdentity name="PInvoke.BCrypt" publicKeyToken="9e300f9f87f04a7a" culture="neutral" /> 
         <bindingRedirect oldVersion="0.0.0.0-0.5.0.0" newVersion="0.5.0.0" /> 
         </dependentAssembly> 
         <dependentAssembly> 
         <assemblyIdentity name="Validation" publicKeyToken="2fc06f0d701809a7" culture="neutral" /> 
         <bindingRedirect oldVersion="0.0.0.0-2.4.0.0" newVersion="2.4.0.0" /> 
         </dependentAssembly> 
        <dependentAssembly> 
         <assemblyIdentity name="Microsoft.WindowsAzure.Mobile" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
         <bindingRedirect oldVersion="0.0.0.0-1.3.0.0" newVersion="1.3.0.0" /> 
         </dependentAssembly> 
         <dependentAssembly> 
         <assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
         <bindingRedirect oldVersion="0.0.0.0-4.2.29.0" newVersion="4.2.29.0" /> 
         </dependentAssembly> 
        </assemblyBinding> 
        </runtime> 
    </configuration> 
    

    必要であれば、私はより多くのコードを提供することができますが、私は私が見て、どこでそれがために問題を報告してきたものにローカライズされた問題を維持したいです。誰かがこれを引き起こしているか、それを解決するために何が必要なのかを知っていますか?おそらく問題の原因となっているバージョンかもしれませんが、ロールバックを考慮する必要がありますか?

    答えて

    0

    は私の知る限り、WindowsAzure.MobileServicesが廃止され、それがモバイルサービス({あなたのアプリ名} .azure-mobile.net様ドメイン)で動作するために使用しました。 Microsoft.Azure.Mobile.Clientはモバイルアプリ(App Service、{your-app-name} .azurewebsites.netのようなドメイン)で動作するために使用されます。

    誰かがこれを引き起こしている可能性があるか、それを解決するために何が必要かを知っていますか?おそらく問題の原因となっているバージョンかもしれませんが、ロールバックを考慮する必要がありますか?

    私はあなたのiOSプロジェクトのapp.configをがNEWVERSION 1.3.0.0でMicrosoft.WindowsAzure.MobileについてdependentAssemblyを持っていることに気づきました。

    WindowsAzureとWindowsAzureの両方をインストールしています。MobileServicesパッケージとMicrosoft.Azure.Mobile.Clientパッケージを使用する場合は、同じパッケージを使用してこの問題を絞り込むことをお勧めします。また、あなたがMobileServiceClientを使用する前に、次のコードで紺碧の携帯を初期化する必要があります:予想通り

    Microsoft.WindowsAzure.MobileServices.CurrentPlatform.Init(); 
    

    はまた、私はMicrosoft.Azure.Mobile.Client 3.1.0をインストールした私のxamarin.formsアプリケーションをチェックし、それが仕事ができます。ここで約azure-mobile-apps-quickstartsのgitサンプルを参照することができます。 さらに、ここにも同様のgitの問題があります。hereを参照してください。

    +0

    「Microsoft.Azure.Mobile.Client」をダウングレードして共有プロジェクトにインストールできるようになりました。これは、Xamarinがこれらの廃止されたライブラリを反映するためにドキュメンテーションを更新するまで私を欺く必要があります。 – Yanayaya

    関連する問題