1

現在、Windows GAC への DLL の取得に問題があります。このブログ投稿で説明されているように、 DLLを作成してロードする手順を実行しようとしました。 アクティブ ディレクトリ フェデレーション サービスのカスタム認証プロバイダー-3-0-part-2.aspx

次のコマンドを呼び出そうとした時点で:

[System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7514a164b89fa979")

System.EnterpriseServices が見つからないというエラーが表示されます。

"1" 個の引数を指定して "Load" を呼び出し中に例外が発生しました: "ファイルまたはアセンブリ 'System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7514a164b89fa979' またはその依存関係の 1 つを読み込めませんでした。システムが見つかりません指定されたファイル。」

指定された DLL (System.EnterpriseServices) がマシン上に存在します*。

だから今私の質問は、なぜこのメソッドがDLLを見つけられないのか、そしてこのコマンドを機能させるために何をしなければならないか/変更しなければならないのかということです.

注: ADFS パーツのみがインストールされたバニラ Windows Server 2012 R2 でこれを試しました。そして、Powershell からコマンドを呼び出しました。

*更新: System.EnterpriseServices DLL は、
C:\Windows\Microsoft.NET\assembly\GAC_64\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a
および
C:\Windows\WinSxS\amd64_system.enterpriseservices_b03f5f7f11d50a3a_4.0.9600.1638にあります。 4_none_53a3f9b13fac0ba5\
したがって、GAC から利用できるはずです。

4

1 に答える 1

1

あなたの公開鍵トークンが間違っていると思います。更新で独自の答えを見つけました:)。

[System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken= b03f5f7f11d50a3a ")である必要があります

これを試してみてください。

于 2015-05-15T22:41:27.057 に答える