に表示されていない2.0コンソールアプリケーションはなぜWindowsIdentityクラスはVisualStudioを2017 .NETのコアで、以下のコードを持つ.NETのコア
using System;
using System.Security.Principal;
namespace smallTests
{
class Program
{
static void Main(string[] args)
{
var identity = WindowsIdentity.GetCurrent();
}
}
}
は、なぜ私はエラーを取得しています.Net Core docsの.NET Core 2.0ライブラリのこのクラスを参照してください。
同じコードは.NET Consoleアプリケーションで機能します。
は、[EDIT]
@Will @JohnnyLは真であること、System.Security.Principal.Windows.dll
、私は言及していないとコメントしました。
しかし、私はなぜそれが動作していないのか不思議です。 が.NET 4.6.1プロジェクト(クラスWindowsIdentityが表示されています)であるため、私はこのSystem.Security.Principal.Windows.dll
を特に参照しません。しかし、私はSystem.dllを参照します。
私はいつも名前空間階層のように動作すると思っていました。例えば、私は
System.Security.Principal.dll
を参照するとき、私は
System.Security.Principal.Windows.dll
にあるクラスを使用することができます。
は私が間違っていますか?
私はSystem.Security.Principal.dll
を.NetCoreソリューションに手動で追加しましたが、まだ動作しません。 [EDIT2]
@Will
は、それは私をたくさん助けた対象をexpainingためにあなたをたくさんありがとうございます。 私が把握しようとしたことは、コアとWindowsIdentity互換性があり、参照してくださいようです:
このapisof.netに宣言領域に私はWindowsIdentityが.Net Core 2.0 System.Security.Principal.Windows, Version=4.1.1.0, PublicKeyToken=b03f5f7f11d50a3a
であることがわかりますが、私は参照でSystem.Security.Principal.Windows.dll
を持っていない、私がすべきそれを追加しますか?はいの場合はどこからですか?
にそのクラスに関する情報を見つける.NET Core api referenceで
私が探しています間違った場所?
WAGですが、System.Security.Principal.Windows.dllを参照していない可能性があります。 – Will
このクラスが生きているアセンブリの文字列 'Assembly:'があります – JohnyL
@WillとJohnyLヒントありがとう、私の編集をご覧ください。 – Reven