首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用新WebAppPool时如何设置.NET框架版本?

使用新WebAppPool时如何设置.NET框架版本?
EN

Stack Overflow用户
提问于 2010-11-20 04:25:55
回答 4查看 23.1K关注 0票数 70

我正在研究如何使用IIS New-WebAppPool来指定要使用的.NET框架的版本。目前,它默认是v2.0,但是我使用的是MVC,这不会起作用,因为这是v4.0的一个特性。我们真的希望每个站点都有自己的应用程序池,似乎我们必须手动创建这些池,因为无法通过脚本配置它们。有没有办法让这一切自动化呢?

我担心答案将是“你不能”,因为documentation似乎没有提供任何参数来设置它,而谷歌正在转向;它给我的印象是只以脚本方式设置站点是可以接受的,而关于配置应用程序池的一些事情就是“没有完成”。我无法想象为什么不--如果你要自动化流程的一个主要部分,为什么你不能自动化另一个主要部分呢?

任何可能对如何通过PowerShell做到这一点有一些见解的人都会对我有很大的帮助。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-11-20 05:00:59

加载WebAdministration模块后,在您创建的池中尝试执行以下操作:

代码语言:javascript
复制
Set-ItemProperty IIS:\AppPools\<pool_name> managedRuntimeVersion v4.0
票数 114
EN

Stack Overflow用户

发布于 2016-11-15 13:38:53

代码语言:javascript
复制
Import-Module WebAdministration
#Get all web sites
dir IIS:\Sites | ForEach-Object {
  #Go to the app pools root
  cd IIS:\AppPools\
  if (!(Test-Path $_.Name -pathType container))
  {
    #Create the app pool and set .net framework version
    $appPool = New-Item $_.Name
    $appPool | Set-ItemProperty -Name "managedRuntimeVersion" -Value $IISAppPoolDotNetVersion
    #Go to the web sites root
    cd IIS:\Sites\
    $iisApp = Get-Item $_.Name
    $iisApp | Set-ItemProperty -Name "applicationPool" -Value $_.Name
  }
  else {
    $dotNetVersion = (Get-ItemProperty $_.Name managedRuntimeVersion).Value
    if ($dotNetVersion -ne $IISAppPoolDotNetVersion){
        #Get the app pool and set .net framework version
        $appPool = Get-Item $_.Name
        $appPool | Set-ItemProperty -Name "managedRuntimeVersion" -Value $IISAppPoolDotNetVersion       
    } 
  }
} 

您可以从how to set the IIS Application Pool to specify version of the .NET Framework下载详细脚本

票数 1
EN

Stack Overflow用户

发布于 2020-06-04 02:53:07

或者,可以在New-WebAppPool cmdlet的返回值上设置此属性。如果您还想更改其他属性,此方法会很有用。

对于v4.0池,它将如下所示:

代码语言:javascript
复制
Import-Module WebAdministration
$appPool = New-WebAppPool -Name Pool1
$appPool.managedRuntimeVersion = "v4.0"
$appPool | Set-Item

要将其设置为“No managed code”,您可以使用以下命令:

代码语言:javascript
复制
Import-Module WebAdministration
$appPool = New-WebAppPool -Name Pool2
$appPool.managedRuntimeVersion = ""
$appPool | Set-Item
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4229082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档