Powershell, IIS Express, Server 2012, Microsoft.Web.Administration требует запуска от имени администратора
У меня странная проблема с Microsoft.Web.Adminstration 7.9.0.0 для IISExpress, требующая запуска в качестве администратора на Server 2012.
Я пытаюсь добавить сайт в пользовательский файл ApplicationHost.config с помощью powershell.
Я проверил свой сценарий powershell в Windows 10 и Windows 8.1, и оба они работают без администратора, но я застрял с Server 2012.
Я думал, что это может быть связано с конфликтом между версиями DLL IE 7.0.0.0 и 7.9.0.0.
Я добавил DLL рядом с файлом, но Add-Type продолжает загружать его из GAC. Очень надоедливый.
Единственное, о чем я могу думать сейчас, это; есть какая-то проблема разрешения GAC. Что не имеет смысла.
# Copied the DLL from C:\Windows\assembly\GAC_MSIL\Microsoft.Web.Administration\7.9.0.0__31bf3856ad364e35\Microsoft.Web.Administration.dll
$assemblyPath = "{Path to dll}\Microsoft.Web.Administration.dll"
Add-Type -LiteralPath $assemblyPath
# This shows Microsoft.Web.Administration loading from the GAC.
[appdomain]::currentdomain.getassemblies()
$iisApplicationConfig = $(Resolve-Path "{Path to applicationhost.config}\applicationhost.config")
$serverManager = New-Object -TypeName Microsoft.Web.Administration.ServerManager -ArgumentList @($iisApplicationConfig)
$site = $serverManager.Sites[$BuildDefaultProjectName]
1 ответ
Я могу сказать вам, что заставляет его использовать 7.9.0.0
посмотрите здесь: C:\Program Files (x86)\IIS Express\config\templates\PersonalWebServer\aspnet.config
есть редирект.
<dependentAssembly>
<assemblyIdentity name="Microsoft.Web.Administration"
publicKeyToken="31bf3856ad364e35"
culture="neutral" />
<bindingRedirect oldVersion="7.0.0.0"
newVersion="7.9.0.0" />
<codeBase version="7.9.0.0"
href="FILE://%FalconBin%/Microsoft.Web.Administration.dll" />
</dependentAssembly>
Вы можете попробовать полный пакет администрирования IIS напрямую https://www.nuget.org/packages/Microsoft.Web.Administration