在我的机器上的C:\Windows\System32\inetsrv中可以找到Microsoft.Web.Administration程序集。我相信它是作为IIS的一部分安装的。程序集也在GAC中。
假设我想将项目提交到SVN,以便其他人签出,我应该如何从我的项目中引用此程序集。Microsoft.Web.Administration未出现在Visual Studio的“添加引用”列表中。我可以添加对C:\Windows\System32\inetsrv\Microsoft.Web.Administration的引用,但这似乎不是一个好主意,因为其他开发人员可能会将其安装在不同的路径或驱动器上。
或者,我可以将其复制到项目文件夹中,但随后必须将二进制文件提交到SVN。
发布于 2014-04-24 16:36:12
以下步骤适用于我:
C:\Windows\System32\inetsrv并检查文件Microsoft.Web.Administration.dll是否存在。如果缺少C:\Windows\System32\inetsrv中的Microsoft.Web.Administration.dll,请在Windows中启用IIS管理控制台功能:

Microsoft.Web.Administration.dll的引用:
<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和IIS可能会因为Windows Update而更改!则您引用的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-04 00:08:36
您可以手动修改项目文件。如下所示添加/更改引用将在GAC中找到程序集,而不管其位置如何:
<Reference Include="Microsoft.Web.Administration, Version=7.9.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
</Reference>当然,如果只安装了"IIS管理控制台“功能。您可以简单地在代码中留下一个提示:
#warning Windows feature "IIS management console" must be installed locally发布于 2013-08-07 21:11:29
在NuGet中搜索并安装它。它将安装在packages文件夹中,根据您的项目结构更改位置,并重新添加引用以反映新路径。通常,我会创建一个lib文件夹并放置所有的外部库。
项目的文件夹结构可以是
lib -> external libraries
src - > code
tools -> tools such as nant, etcMicrosoft.Web.Administration用于以编程方式管理IIS,它在“添加引用”窗口中不可用。通过添加来自C:\Windows\System32\inetsrv的引用将会产生引用问题。因此,最好将它放在项目内部的lib文件夹中,并在SVN中检查它。
https://stackoverflow.com/questions/18104151
复制相似问题