61

Microsoft.Web.Administration アセンブリはC:\Windows\System32\inetsrv私のマシンにあります。IIS の一部としてインストールされていると思います。アセンブリもGACにあります。

他の人がチェックアウトできるようにプロジェクトを SVN にコミットしたい場合、自分のプロジェクトからこのアセンブリをどのように参照すればよいでしょうか。Microsoft.Web.AdministrationVisual Studio の [参照の追加] リストに表示されません。への参照を追加できますがC:\Windows\System32\inetsrv\Microsoft.Web.Administration、他の開発者が別のパスまたはドライブにインストールしている可能性があるため、これは悪い考えのようです。

または、プロジェクト フォルダーにコピーすることもできますが、バイナリを SVN にコミットする必要があります。

4

11 に答える 11

46

次の手順は私のために働いています:

  1. に移動してC:\Windows\System32\inetsrv、ファイルMicrosoft.Web.Administration.dllが存在するかどうかを確認します。に がない場合はMicrosoft.Web.Administration.dllC:\Windows\System32\inetsrvWindows の機能で IIS 管理コンソールを有効にします。

Windows 機能への管理サービスの追加

  1. Visual Studio プロジェクトで、次への参照を追加しますMicrosoft.Web.Administration.dllここに画像の説明を入力
  2. これで、.proj ファイルに次のエントリが含まれます<HintPath>C:\Windows\System32\inetsrv\Microsoft.Web.Administration.dll</HintPath>。たとえば、このパスを<HintPath>%windir%\System32\inetsrv\Microsoft.Web.Administration.dll</HintPath>より堅牢にするために適応させることができます。

アプリを別のシステムに移動すると、アプリMicrosoft.Web.Administration.dllはターゲット システムの も参照します。は Windows システム間で異なる可能性があるため、Microsoft.Web.Administration.dllこのアセンブリ ファイルのコピーをアプリで配信することはお勧めしません。コピーは、ターゲット システムの IIS と互換性がない可能性があります。

Microsoft.Web.Administrator.dllまた、Windows Update により と IIS が変更される可能性があるため、同じシステム上のアセンブリのコピーを参照することもお勧めしません。次に、参照されている のコピーはMicrosoft.Web.Administrator.dll、更新された IIS と互換性がありません。

ターゲット システムに Microsoft.Web.Administrator.dll が見つからない場合は、上記の手順 1 で説明したように管理コンソールをアクティブにします。または、cmd (管理者として開く) を使用しDISM.exeて、次のコマンドで Windows 機能管理コンソールをアクティブ化することもできます。

C:\Windows\System32\Dism.exe /enable-feature /online /featurename:IIS-ManagementConsole

このコマンドは、セットアップを介してアプリを配布する場合に役立ちます。

于 2014-04-24T08:36:12.013 に答える
6

NuGet で検索してインストールします。パッケージフォルダーにインストールされ、プロジェクト構造に従って場所を変更し、参照を再度追加して新しいパスを反映します。通常、lib フォルダーを作成し、すべての外部ライブラリーを配置します。

プロジェクトのフォルダ構造は

lib -> external libraries
src - > code
tools -> tools such as nant, etc

Microsoft.Web.AdministrationIIS をプログラムで管理するために使用され、参照の追加ウィンドウからは使用できません。C:\Windows\System32\inetsrv からの参照を追加すると、参照の問題が発生します。そのため、プロジェクト内部の lib フォルダーに配置して、SVN で確認することをお勧めします。

于 2013-08-07T13:11:29.030 に答える
2

C:\Windows\System32\inetsrv

また

C:\Windows\winsxs\x86_microsoft.web.administration-nonmsil_31bf3856ad364e35_6.1.7600.16385_none_c8472944f22a9c81

C:\Windows\WinSxS\x86_microsoft.web.administration-nonmsil_31bf3856ad364e35_6.3.9600.16384_none_5d1097a8ac709c4e

于 2014-06-09T21:16:21.033 に答える
2

Nugetを使用します。

Microsoft.Web.管理

ここに画像の説明を入力

于 2015-08-19T16:22:25.610 に答える
1

直接的な答えではなく、少し追加情報。IIS と IIS Express は同じ DLL の 2 つの異なるバージョンを使用するため、アプリが誤って間違ったバージョンを取得する可能性があります。http://rdingwall.com/2013/09/22/microsoft-web-administration-confusion/を参照してください

于 2016-10-05T16:55:37.003 に答える
0

これを行う最も簡単な方法は、このリンクから Visual Studio に NuGet をインストールすることです。 http://visualstudiogallery.msdn.microsoft.com/27077b70-9dad-4c64-adcf-c7cf6bc9970c

次に、Visual Studio で、[ツール] -> [NuGet パッケージ マネージャー] -> [パッケージ マネージャー コンソール] に移動します。

次に、インストール先のプロジェクトとなる [デフォルト プロジェクト] を選択します。

最後に、Install-Package Microsoft.Web.Administrationコマンドを実行します。

于 2014-07-29T13:46:56.577 に答える
-4

「参照されたアセンブリ」と呼ばれる新しいプロジェクトをソリューションに追加し、このプロジェクトに DLL を追加します。このようにして、DLL はソース管理に配置されます。その後、参照の追加で「参照」オプションを使用してプロジェクトを参照できます。

ソース管理されているため、この DLL を見逃すことはないので、同僚は満足するでしょう。

于 2013-08-07T13:12:02.937 に答える