c# - 配置生成器 - 无法加载程序集 - .Net Framework
问题描述
我在我的 .Net Framework WebAPI 中使用基于文件的用户机密,并且所有内容都可以正常工作,AppSettings
如下web.config
所示
<configuration>
<configSections>
<section name="configBuilders" type="System.Configuration.ConfigurationBuildersSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" restartOnExternalChanges="false" requirePermission="false" />
</configSections>
<configBuilders>
<builders>
<add name="Secrets" userSecretsFile="MySecretsFile.xml" type="Microsoft.Configuration.ConfigurationBuilders.UserSecretsConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.UserSecrets, Version=1.0.0.0, Culture=neutral" />
</builders>
</configBuilders>
<appSettings configBuilders="Secrets">
<add key="mysetting1" value="(default)" />
<add key="mysetting2" value="(default)" />
</appSettings>
</configuration>
但是,我现在需要connectionStrings
为 EF 连接添加相同的内容,以下条目在web.config
下面
<connectionStrings configBuilders="Secrets">
<add name="Entities" connectionString="A" providerName="System.Data.EntityClient" />
</connectionStrings>
当我运行应用程序(在 Visual Studio 中)时,我收到以下错误,表明在ConfigurationBuilders
查找某些东西时遇到问题......但我不知道......事情是什么,所有的appSettings
和configurationStrings
正在按预期加载。
如果我删除configBuilders="Secrets"
,则错误不会显示。
那么我错过了什么,我怎样才能找出它试图加载但找不到的东西。
解决方案
它确实说明了您遇到问题的程序集加载。您是否验证了您的项目实际上正确引用了Microsoft.Configuration.ConfigurationBuilders.UserSecrets
?验证版本号,是不是1.0.0.0。通过直接在代码中引用该程序集中的类型最容易验证。如果编译器接受这一点,那么运行时也可能会接受。
如果明显的检查没有帮助,则解决通常的程序集加载故障排除。即fuslogvw.exe
/The Assembly Binding Log Viewer:
程序集绑定日志查看器显示程序集绑定的详细信息。此信息可帮助您诊断 .NET Framework 无法在运行时找到程序集的原因。这些故障通常是由于程序集部署到错误位置、本机映像不再有效或版本号或文化不匹配造成的。公共语言运行时未能找到程序集通常会在您的应用程序中显示为 TypeLoadException。
(文档)
推荐阅读
- html - 根据 HTML、CSS 中的页面宽度对齐段落
- reactjs - React Typescript - 更改默认加载的组件
- azure - 通过字符串或 Int64 搜索 DateTime 类型与 Azure 表的性能比较
- confluence - Confluence - 在多个会议页面上获取表中出现的名称标签数量
- json - monaco 编辑器支持什么版本的 json 架构?
- html - CSS - 尝试为三个不同尺寸的图像设置相同的高度
- swift - 调用 SwiftUI 中位置 #11、#12 的额外参数
- powershell - Jenkins 自动化与 AD 上的 powershell 脚本
- html - 如何在我的标题图像上居中显示文本
- android - CameraX - 在纵向模式下锁定活动时仅旋转预览