.NET 4.8(VB)遗留Web应用读取密钥文件值返回Nothing问题
解决.NET 4.8 VB遗留Web应用读取用户密钥失败的问题
你遗漏了将配置构建器关联到appSettings节点的核心步骤,同时还有几处细节需要修正:
关联配置构建器到appSettings
在web.config的<appSettings>节点上添加configBuilders属性,指定使用你定义的"Secrets"构建器:<configuration> <!-- 已有的configSections和configBuilders配置保留 --> <appSettings configBuilders="Secrets"> <!-- 原有AppSettings项可保留,密钥会自动合并覆盖 --> </appSettings> <!-- 其他配置节点 --> </configuration>确认安装必要的NuGet包
必须安装Microsoft.Configuration.ConfigurationBuilders.UserSecrets包,这是配置构建器运行的依赖:Install-Package Microsoft.Configuration.ConfigurationBuilders.UserSecrets -Version 1.0.0.0修正密钥文件的路径和名称
- 文件名必须是
secrets.xml(你当前命名为secret.xml,缺少末尾的"s",这会导致系统无法找到文件) - 文件必须放在指定路径:
%APPDATA%\Microsoft\UserSecrets\0c09afe4-6f59-4293-962b-2aad41d88772\secrets.xml(替换为你配置的userSecretsId对应的文件夹)
- 文件名必须是
验证读取代码
你的VB读取代码本身是正确的,确保项目已引用System.Configuration程序集,并导入命名空间:Imports System.Configuration Dim s2 As String = ConfigurationManager.AppSettings("Value1")
完成以上步骤后,重新运行应用即可正确读取到密钥值。
内容的提问来源于stack exchange,提问作者Alexan
相关产品推荐
相关产品推荐

