asp.net-mvc - 错误 ASPCONFIG:无法打开 configSource 文件
问题描述
我们的 .Net Framework 4.8 Web 应用程序突然开始在我们的团队城市构建服务器上生成以下构建时错误:
error ASPCONFIG: Unable to open configSource file ‘sessionState.config’.
我们的 web.config 引用了一个外部会话状态文件:
<sessionState configSource="sessionState.config" />
该项目正在积极开发中,但是最近没有对应用程序进行相关更改。我们最初认为这是构建服务器上的配置问题,但是我们意识到如果我们“发布”项目并勾选“将所有输出合并到单个程序集”选项,我们可以在我们的开发机器上复制相同的问题。我们发布到本地文件以复制在我们的构建服务器上发生的事情。
修改 sessionState.config 文件的 Build Action fromNone
以Content
消除问题,但这会导致将我们的 sessionState.config 文件复制到部署包中,这是我们不想要的。
解决方案
我们花了很多时间试图调查这个问题,最后决定尝试卸载最近的 Microsoft 更新。这解决了它!我在这里发布这个是希望它至少可以节省另一个人我们花费的时间。
这个特定的 2020 年 10 月 13 日更新是原因,但是,当我们搜索https://support.microsoft.com/en-us/help/4578974/kb4578974-cumulative-update-for-时,我们没有找到它网络框架
应用 .NET Framework 4.8 的 2020 年 10 月 13 日安全和质量汇总后,一些 ASP.Net 应用程序在预编译期间失败。您收到的错误消息可能包含“错误 ASPCONFIG”字样。</p>
“System.web”配置的“sessionState”、“anonymouseIdentification”或“authentication/forms”部分中的配置状态无效。如果配置转换使 Web.config 文件处于中间状态以进行预编译,则在生成和发布例程期间可能会发生这种情况。
注意他们在anonymousIdentification中的拼写错误
解决方案是将此 appSettings 键添加到您的 web.config
<configuration>
<appSettings>
<add key="aspnet:DisableAppPathModifier" value="true" />
</appSettings>
</configuration>
文章指出,将值设置为“true”或“false”将避免此问题。对于使用 cookie 作为会话状态 ID 的站点,建议将此值设置为“true”。
我们使用 cookie,因此将其添加到我们的 web.config 中并使用 true 值,它解决了问题。
推荐阅读
- c# - 如何为 TreeView 项重用 XAML 模板?
- c# - 对 Razor ASP.NET Core 页面客户端单选按钮的更改做出反应
- google-chrome - 在 chrome 扩展清单中为计时器功能保持持久真实的好主意?
- git - github中的双文件夹图标
- python - TensorFlow:如何从 TFHub 模块制作推理图?
- javascript - Apex 图表范围栏颜色
- java - 什么是 vm 参数中的 -D 它表明了为什么我们必须在 vm 参数中始终指定 -D
- xslt - 关于 xsl:try xsl:catch 中的错误信息的问题
- r - 在 R 中,有没有办法减少连续日期 x 轴上的刻度数?
- python - 错误列表索引必须是整数,但只要我不使用输入来获取参数它就可以工作