wel*_*tty 15 .net-core asp.net-core
我正在设置各种Windows服务器来托管asp.net核心应用程序,我需要能够确定他们是否安装了asp.net托管包.
"在服务器上安装.NET Core Windows Server Hosting软件包.该软件包将安装.NET Core Runtime,.NET核心库和ASP.NET核心模块.该模块在IIS和Kestrel服务器之间创建反向代理".
我正在设置部署,我需要确保我的服务器已配置好以便运行asp.net核心应用程序.
基本上,我正在寻找一个注册表项或其他方式来告诉我是否应该运行安装程序设置.(就像我们告诉我们是否安装了旧版本的框架一样,就像
https://support.microsoft.com/en-us/kb/318785
早期版本一样)
小智 14
您可以Microsoft .NET Core 1.1.1 - Windows Server Hosting在HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Updates\.NET Core路径下搜索注册表项,如下面的截图.
您还可以使用PowerShell确定密钥是否存在.
$DotNETCoreUpdatesPath = "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Updates\.NET Core"
$DotNetCoreItems = Get-Item -ErrorAction Stop -Path $DotNETCoreUpdatesPath
$NotInstalled = $True
$DotNetCoreItems.GetSubKeyNames() | Where { $_ -Match "Microsoft .NET Core.*Windows Server Hosting" } | ForEach-Object {
$NotInstalled = $False
Write-Host "The host has installed $_"
}
If ($NotInstalled) {
Write-Host "Can not find ASP.NET Core installed on the host"
}
Run Code Online (Sandbox Code Playgroud)
您可以从如何通过PowerShell确定Windows Server上的ASP.NET Core安装下载示例.
Al*_*kov 11
您可以使用powershell检查托管模块是否已在IIS中注册
在本地的powershell会议上
Import-module WebAdministration
$vm_dotnet_core_hosting_module = Get-WebGlobalModule | where-object { $_.name.ToLower() -eq "aspnetcoremodule" }
if (!$vm_dotnet_core_hosting_module)
{
throw ".Net core hosting module is not installed"
}
Run Code Online (Sandbox Code Playgroud)
如果你想在远程会话中做替换前2行
Invoke-Command -Session $Session {Import-module WebAdministration}
$vm_dotnet_core_hosting_module = Invoke-Command -Session $Session {Get-WebGlobalModule | where-object { $_.name.ToLower() -eq "aspnetcoremodule" }}
Run Code Online (Sandbox Code Playgroud)
小智 9
如果您安装了 .NET Core CLI,您可以尝试:
dotnet --list-runtimes
Run Code Online (Sandbox Code Playgroud)
这将打印如下内容:
Microsoft.NETCore.App 3.0.0 [c:\program files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 3.1.0 [c:\program files\dotnet\shared\Microsoft.NETCore.App]
参考:微软文档
| 归档时间: |
|
| 查看次数: |
18207 次 |
| 最近记录: |