The following steps are working for me:
- Go to
C:WindowsSystem32inetsrv
and check if the file Microsoft.Web.Administration.dll
exists. If you are missing the Microsoft.Web.Administration.dll
in C:WindowsSystem32inetsrv
, enable IIS Management Console in your Windows Features:
- In your Visual Studio project, add the reference to the
Microsoft.Web.Administration.dll
:
- Now your .proj-file has the following the entry:
<HintPath>C:WindowsSystem32inetsrvMicrosoft.Web.Administration.dll</HintPath>
. You could adapt this path to e.g. <HintPath>%windir%System32inetsrvMicrosoft.Web.Administration.dll</HintPath>
to make it more robust.
When you move the app to a different system, the app also references to the Microsoft.Web.Administration.dll
on the target system. Because the Microsoft.Web.Administration.dll
could be different between the windows systems it is not recommended to deliver a copy of this assembly file by the app. A copy could be incompatible with the IIS on the target system.
It is also not recommended to reference a copy of the assembly on the same system, because perhaps the Microsoft.Web.Administrator.dll
and the IIS will change due an Windows Update! Then your referenced copy of Microsoft.Web.Administrator.dll
is incompatible with the updated IIS.
When the Microsoft.Web.Administrator.dll is missing on the target system, then activate the Management Console as descibed in step 1 above. Alternatively you can use the cmd (open as Administrator) and activate the Windows Feature Management Console by DISM.exe
via the following command:
C:WindowsSystem32Dism.exe /enable-feature /online /featurename:IIS-ManagementConsole
This command could be useful when you want to distribute your app via an setup.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…