概要
必要な 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 の参照が機能しないことを意味します。
調査する理由や他の場所について何か提案はありますか?
ありがとうございました。