Microsoft.Web.Administration程序集位于C:\Windows\System32\inetsrv
我的计算机上.我相信它是作为IIS的一部分安装的.该大会也在GAC中.
鉴于我想将项目提交给SVN以供其他人结账,我该如何从我的项目中引用这个程序集.Microsoft.Web.Administration
没有出现在Visual Studio的"添加引用"列表中.我可以添加一个引用C:\Windows\System32\inetsrv\Microsoft.Web.Administration
,但这似乎是一个坏主意,因为其他开发人员可能将它安装在不同的路径或驱动器上.
或者我可以将它复制到项目文件夹中,但是我必须将二进制文件提交到SVN.
Sim*_*mon 41
以下步骤对我有用:
C:\Windows\System32\inetsrv
并检查文件是否Microsoft.Web.Administration.dll
存在.如果你缺少的Microsoft.Web.Administration.dll
在C:\Windows\System32\inetsrv
,在你的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
目标系统上的应用程序.因为Microsoft.Web.Administration.dll
Windows系统之间可能不同,所以不建议应用程序提供此程序集文件的副本.副本可能与目标系统上的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
Run Code Online (Sandbox Code Playgroud)
当您想通过设置分发应用程序时,此命令可能很有用.
小智 12
您可以手动修改项目文件.如下所示添加/更改引用将在GAC中找到程序集,无论其位置如何:
<Reference Include="Microsoft.Web.Administration, Version=7.9.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
</Reference>
Run Code Online (Sandbox Code Playgroud)
当然,如果仅安装"IIS管理控制台"功能.您可以在代码中留下一个提示:
#warning Windows feature "IIS management console" must be installed locally
Run Code Online (Sandbox Code Playgroud)
在NuGet中搜索并安装它.它将安装在packages文件夹中,根据您的项目结构更改位置并重新添加引用以反映新路径.通常我会创建一个lib文件夹并放置所有外部库.
项目的文件夹结构可以
lib -> external libraries
src - > code
tools -> tools such as nant, etc
Run Code Online (Sandbox Code Playgroud)
Microsoft.Web.Administration
用于以编程方式管理IIS,它不能从添加引用窗口中获得.通过添加来自C:\ Windows\System32\inetsrv的引用将创建引用问题.因此,最好将它放在项目内部的lib文件夹中,并在SVN中进行检查.
<HintPath>%windir%\System32\inetsrv\Microsoft.Web.Administration.dll</HintPath>
.要解决这个问题,他们要么通过控制面板中的程序安装IIS,要么通过@DzmitryLahoda指出的命令行安装IIS.
再次,任何指向NuGet包的技巧都是不合适的,
归档时间: |
|
查看次数: |
45003 次 |
最近记录: |