7 に答える
これはサーバー 2008 の UAC の問題です。UAC を停止することを推奨する人もいますが、運用サーバーではこれをお勧めしません。答えはgacutil を使用することです。
これを運用サーバーで実行するために SDK をインストールする必要はありません。exe とその構成ファイルは、開発マシンからデプロイできます (必要に応じて、使用後に削除できます)。
gacutil.exe と gacutil.exe.config を、使用しているフレームワークのバージョンに固有の WINDOWS\Microsoft.NET\Framework\ フォルダーに配置します。
次に、「管理者として実行」を使用してコマンド ラインの新しいインスタンスを開始します。
gacutil をデプロイした C:\WINDOWS\Microsoft.NET\Framework.... フォルダーに移動します。
次に実行: gacutil.exe /i
これで問題が解決することを願っています(私にとってはうまくいきました)。
幸運を。
Visual Studio または .NET コマンド プロンプトに移動し、次のコマンドを入力します。
gacutil -if "fullpathhere.dll"
gacutil コマンドを詳しく調べます。-IF は強制的にインストールすることを意味し、他のオプションもあります。
Visual Studio または .NET Framework SDK がインストールされていない場合、.NET コマンド プロンプトは表示されません。その場合、コントロール パネルから UAC をオフにして、アセンブリをアセンブリ フォルダーにドラッグ アンド ドロップする必要があると思います。
パウロオリヴェイラによって説明されたトリックは機能しますが、すべての状況で機能するわけではありません。Windows Server 2008 R2では、すでに次の戦術を展開しています。
(サーバーの管理者権限を持つアカウントでログオンしていることを確認してください)
- ローカルセキュリティポリシーを開きます([スタート]ボタン、「ローカル」と入力します...)
- [セキュリティ設定]>[ローカルポリシー]>[セキュリティオプション]に移動します
- ユーザーアカウント制御と呼ばれるポリシーを見つけます:すべての管理者を管理者承認モードで実行します
このポリシーが有効になっていることに気付くでしょう。これを無効にしてサーバーを再起動すると、通常のドラッグアンドドロップ方式を使用できるようになります。
完了したら、この設定を再度有効にすることを忘れないでください。
「管理者として実行」でコマンドプロンプトを実行します。コマンド「explorer C:\windows\assembly」を実行します。このウィンドウは、「管理者権限で実行」で実行された別のエクスプローラーからの DLL のドロップを受け入れます。
それが役に立てば幸い
Win2008 サーバー (または Win7) でローカル セキュリティ ポリシーを変更する場合は、古いドラッグ アンド ドロップ方法を使用できます。
Windows Server 2008 で試したことはありませんが、コントロール パネル/管理ツール/.NET Framework 2.0 構成から試しましたか?