将Blazor部署至本地IIS Express遇重复ScriptResourceHandler错误求助
问题解决与部署方案
一、解决IIS Express启动重复配置节错误
1. 强制使用无托管代码模式启动
你的应用基于.NET 6(Core),但IIS Express默认可能绑定了.NET Framework应用池,导致加载全局配置中的system.web.extensions节点引发重复错误。修改启动命令,添加/clr:None参数强制指定无托管代码模式:
start iisexpress /path:C:\FSAPublish /clr:None
2. 修复web.config路径语法错误
当前web.config中aspNetCore节点的路径写法存在解析问题,修正为:
<aspNetCore processPath="dotnet" arguments=".\FSAWeb.Server.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
(移除arguments和stdoutLogFile开头的多余反斜杠,避免路径解析异常)
二、无需修改应用实现数据库自动切换与同步
1. 自动切换至本地SQL Express
利用.NET配置文件优先级规则,在C:\FSAPublish目录下创建appsettings.Local.json,写入本地SQL Express连接字符串,自动覆盖生产环境配置:
{ "ConnectionStrings": { "DefaultConnection": "Server=.\\SQLEXPRESS;Database=FSALocal;Trusted_Connection=True;MultipleActiveResultSets=true" } }
.NET 6会自动加载并优先使用该本地配置,无需修改原应用代码。
2. 联网后数据同步
- 后台自动同步:在Blazor应用中添加后台任务,启动时检测生产服务器网络连通性,若联网则执行数据同步逻辑(用EF Core对比本地与生产库的增量数据,或使用批量操作库提升效率)。
- 手动触发同步:在应用页面添加同步按钮,让用户在联网后手动触发数据同步操作。
内容的提问来源于stack exchange,提问作者Steven
相关产品推荐
相关产品推荐

