1

概要

必要な Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll がプロジェクトの bin ディレクトリにコピーされない

詳細

私は次のものを持っています

  • abc.settingsという名前のクラス プロジェクトで、標準以外の参照は事実上ありません。
  • abc.settings.extensions.keyvaultと呼ばれるクラス プロジェクト。これは abc.settings の拡張ライブラリであり、KeyVault nuget と KeyVaultの依存関係であるMicrosoft.IndentityModels.Clients.ActiveDirectory nuget を持ちます。
  • abc.settings と abc.extensions.keyvault の両方への参照を持つabc.loginというプロジェクト

abc.loginアプリケーションはエラーなしで正常にビルドされますが、実行するとランタイム集計例外が発生し、モジュール Microsoft.IdentityModel.Clients を読み込めなくなります。ActiveDirectory.プラットフォーム.dll

abc.settings.extensions.keyvault の bin フォルダを見ると、Microsoft.IdentityModel.Clients. ActiveDirectory.Platform .dll は、Microsoft.IdentityModel.Clients と共に存在します。期待どおりのActiveDirectory .dll。

abc.login\bin\x64 を見ると、Microsoft.IdentityModel.Clients が表示されます。ActiveDirectory.dllはありますが、Microsoft.IdentityModel.Clients はありません。ActiveDirectory.プラットフォーム.dll

私が試したこと

  • これらの両方のファイルでコピー ローカルが true であることを確認します
  • 特定のバージョンがこれらの両方の dll で同じに設定されていることを確認しました (実際には true に設定されていました)。
  • ナゲットを再インストールしました
  • ADAL nuget を abc.login プロジェクトにインストールしました。これにより、アプリケーションが動作しますが、abc.extensions.keyvaul が参照されていたため、コピーされているはずです。
  • This SOをチェックアウトしましたが、これがどのように機能しているのか理解できません (一方の dll はコピーされ、もう一方はコピーされません)。その投稿は、この参照されたプロジェクト dll の参照が機能しないことを意味します。

調査する理由や他の場所について何か提案はありますか?

ありがとうございました。

4

1 に答える 1