代码改变世界

win2008server R2 x64 部署.net core到IIS

  Lecone.JY.HU  阅读(1804)  评论(1编辑  收藏  举报
1.下载sdk 和.NET Core Windows Server Hosting 
 
2.出现HTTP 错误 500.19 Internal Server Error
有可能是.NET Core Windows Server Hosting没安装。
需要验证 dotnet 是否能正常使用,在cmd中 进入 C:\Program Files\dotnet>dotnet  --version

 提示 api ms win crt runtime 1-1-0.dll 丢失,需要下载安装。

【注意】:安装后请重启IIS,cmd 中输入 iisreset.

 

3.Files\dotnet\host\fxr\1.0.1\hostfxr.dll], HRESULT: 0x80070057】错误
win2008server R2 x64 部署.net core到IIS上出现【Failed to load the dll from [C:\Program Files\dotnet\host\fxr\1.0.1\hostfxr.dll], HRESULT: 0x80070057】错误 
解决方法:
 需要安装补丁:KB2533623 
 下载地址如下:
https://support.microsoft.com/en-us/kb/2533623  需要重启
 
4.网站部署
于其他网站一样,仅仅缓存池.net framework 版本 设置为 “无托管代码”
 
5.Cannot find compilation library location for package 'Microsoft.Win32.Registry'错误
解决办法:
右键项目 编辑“xxx.csproj”
<PropertyGroup>
<MvcRazorExcludeRefAssembliesFromPublish>false</MvcRazorExcludeRefAssembliesFromPublish>
</PropertyGroup> 
保存,重新加载并重新发布。查看发布的文件里面是否包含 “refs”文件夹,包含说明就是成功的。
 
错误 ErrorCode:0x80004005 : 8000808c

在项目文件中添加一句话

<PropertyGroup>
    <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
</PropertyGroup>

 

6.出现 HTTP Error 502.5 - Process Failure的问题
安装运行环境和sdk 下载地址https://www.microsoft.com/net/download/windows 后没有重启系统。
方法1
net stop was /y
net start w3svc 
方法2
HTTP Error 502.5 - Process Failure
1
2
3
4
5
6
7
8
<system.webServer>
   <modules>
     <remove name="WebDAVModule" />
   </modules>
   <handlers>
     <remove name="WebDAV"/>
   </handlers>
</system.webServer>

  

7. dotnet  --version 测试 api-ms-win-crt-filesystem-l1-1-0丢失或者无效
Files\dotnet\host\fxr\1.0.1\hostfxr.dll], HRESULT: 0x8007007E】错误
 ErrorCode = '0x80004005 : 80008082.

 KB2999226 微软下载链接 https://support.microsoft.com/en-us/help/2999226/update-for-universal-c-runtime-in-windows

 KB3118401 微软下载链接 https://support.microsoft.com/en-us/help/3118401/update-for-universal-c-runtime-in-windows 

 windows 2012 版本无法安装补丁-提示不兼容从其他地方拷贝一个, 下面放在txt里面,后缀改为bat,且与dll同目录,管理员身份运行.bat

 

1
2
3
4
5
@echo 开始注册
copy api-ms-win-crt-filesystem-l1-1-0.dll %windir%\system32\
regsvr32 %windir%\system32\api-ms-win-crt-filesystem-l1-1-0.dll /s
@echo api-ms-win-crt-filesystem-l1-1-0.dll注册成功
@pause

 

8.出现System.ComponentModel.Win32Exception: 拒绝访问 

解决方方法:应用程序池-》选择网站对于的应用池,右键=》高级设置=》进程模型=》标识,选择LocalSystem。

9.HTTP Error 500.30 - ANCM In-Process Start Failure 解决方法

检查web.config文件,删除 hostingModel="InProcess"

 

 
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
的风格风格
点击右上角即可分享
微信分享提示