2017-06-27 3 views
0

AAD B2Cテナントを使用して認証するXamarin Formsアプリケーションを新しく作成しようとしています。私はGitHub(https://github.com/Azure-Samples/active-directory-b2c-xamarin-native)の公式のサンプルにアプリケーションコードを基づいており、これをクローンすると、ビルドされ、実行され、テナントとうまく認証されます。AuthenticationContinuationHelperクラスがXamarin.FormsのMSALに見つかりませんDroid

コードを共有するためにPCLを使用する新しいXamarin Formsアプリケーションとして、このサンプルをゼロから再作成しようとすると、動作させることができません。まず、PCLプロファイルをデフォルト259からProfile7に変更して、MSALバージョン1.1.0プレビューをインストールできるようにしなければなりませんでした。そして、私は&はgithubのサンプルコードからコードフォームアプリのドロイドバージョンをコピー&ペーストするとき、私は

  • 「UIParentが」1つの引数を取るコンストラクタが含まれていません」MainActivity.csで二つの問題

    • を取得"名前の 'AuthenticationContinuationHelper'は現在のコンテキストに存在しません"

    私はMacとPCの両方で最初から新しいプロジェクトを作成しようとしました。私はまた、各プロジェクトのpackages.configをコピーしようとしましたが、これは新しく新しいプロジェクトからはうまくいきません。 Xamarin Forms IOSプロジェクトは1つの引数を持つコンストラクタを使用して、必要なAuthenticationContinuationHelperクラスを見つけます。

    誰かが私が間違っていると考えているのですか?

  • +0

    はStackOverflowのへようこそ、ツアーを検討する時間を取るしてください:https://stackoverflow.com/tour、 を最小を作成する方法、完了し、検証可能な例:https://stackoverflow.com/help/mcveより具体的には *良い質問をする方法* https://stackoverflow.com/help/how-to-ask - 助けを求める前にあなたの問題に少しでも気を配り、問題を自分で解決しようと努力しているコード*に特定の問題を含めることで、より良いフィードバックと役に立つ答えを得ることができます。特定の問題のアイデアが出たら、投稿を編集できます。 – mjw

    答えて

    0

    必要なパッケージをすべてインストールしてください。 githubプロジェクトのインストールされたパッケージとあなたの新しいプロジェクトを比較してください。あなたがそれらをインストールした後、 "using"ステートメントを忘れることはありません。パッケージは各ディレクトリのpackages.configにあります。https://github.com/Azure-Samples/active-directory-b2c-xamarin-native/blob/master/UserDetailsClient/UserDetailsClient/packages.config

    +0

    私は試してみたところ、すべての必要なパッケージがインストールされていることを確認しました。手動でインストールしたものと、元のプロジェクトからpackages.configの内容をコピーしたものです。同じことを確認するために、ステートメントとコードを使用して貼り付けをコピーしようとしました。私はこの超奇妙な発見。 – LtCrunch

    1

    MSAL NuGetインストーラのどこかにバグがあります。

    Visual Studio 2017(win)またはMac用Visual Studioで新しいXamarin Formsアプリケーションソリューションを作成すると、Droidプロジェクトで間違ったdll参照が取得されます。

    nugetインストーラは、 "/packages/Microsoft.Identity.Client.1.1.0-preview/lib/netstandard1.3/Microsoft.Identity.Client.dll"からdllをAndroidプロジェクトにインストールします。 PCLとiOSプロジェクトが正しいDLLを取得する

    参照されたnetstandard1.3 dllを手動で削除し、monoandroid70ディレクトリからdllを追加すると、コードが再び機能します。

    私はMSALライブラリプロジェクトで、このために問題を提起してきた

    https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/441

    関連する問題