新しいASP.NET Core 2.0 WebアプリケーションでいくつかのActive Directoryクエリを実行する必要があります。 Microsoftのドキュメントには、.NET Core 2.0の一部としてSystem.DirectoryServices.AccountManagement ライブラリが利用可能 と記載されています。
この名前空間を含むNuGetの関連パッケージを見つけるにはどうすればよいですか? NuGetに表示されるのは、マイクロソフト以外のサポートされていないライブラリだけです。
私はこのスレッドのためのより良い解決策を持っています。探しているSystem.DirectoryServices名前空間を提供する "Microsoft.Windows.Compatibility"というNugetパッケージ(プレリリースにあります)を見つけました。 Nugetを検索して、プレリリースオプションがオンになっていることを確認してください。あなたがそれを得たら、ほとんどすべてが動作します。パッケージが完成したら、後でパッケージを必ず更新してください。それが誰かを助けることを願って、それを追跡するのに私に数週間かかった。
現在NetCore 2.2で見ているように、このパッケージのサポートがあります。
System.DirectoryServices.AccountManagement
あなたはそれをnugetで見つけることができます。
著者はマイクロソフトであり、
公開日:2018年5月29日火曜日(2018年5月29日)
「Microsoft.Windows.Compatibility」を使用すると、コンパイルは行われますが、Windowsで実行していない場合、実行時にプラットフォームがサポートされないという例外が発生します。
Unhandled Exception: System.PlatformNotSupportedException: System.DirectoryServices is not supported on this platform.
at System.DirectoryServices.DirectoryEntry..ctor(String path)
at ad_test.ActiveDirectoryClient.GetUsername(String emailAddress) in .../ad-test/ActiveDirectoryClient.cs:line 24
at ad_test.Program.Main(String[] args) in .../ad-test/Program.cs:line 11
System.DirectoryServicesのプレリリースバージョンがあります。次のコマンドを使用して、NuGetパッケージマネージャーから取得できます。
Install-Package System.DirectoryServices -Version 4.5.0-preview1-25914-04
これまではこれで問題なく動作しています。