Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
648 views
in Technique[技术] by (71.8m points)

.net - How to reference Microsoft.Web.Administration?

The Microsoft.Web.Administration assembly is found in C:WindowsSystem32inetsrv on my machine. I believe it is installed as part of IIS. The assembly is also in the GAC.

How should I reference this assembly from my project, given that I want to commit the project to SVN for others to checkout. Microsoft.Web.Administration does not appear in the Visual Studio 'Add References' list. I can add a reference to C:WindowsSystem32inetsrvMicrosoft.Web.Administration, but this seems like a bad idea as other developers might have it installed on a different path or drive.

Or I could copy it into the project folder, but then I have to commit the binary to SVN.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The following steps are working for me:

  1. 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:

Adding the management service to windows features

  1. In your Visual Studio project, add the reference to the Microsoft.Web.Administration.dll: enter image description here
  2. 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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...