首页 > 解决方案 > 找不到适合指定文化或中性文化的任何资源

问题描述

昨天,我收到了错误信息

无法获取 DbContext 的反射类型

尝试添加新控制器时。我的解决方案中已经有很多控制器,所以我不知道为什么会突然发生这种情况。

然后我按照这个问题给出的解决方案,现在我面临一个新的错误消息:

找不到适合指定区域性或中性区域性的任何资源。确保“SolutionName.DbSeedingResource.resources”在编译时被正确嵌入或链接到程序集“SolutionName”中,或者所有所需的附属程序集都是可加载的并且是完全签名的。

我不明白这个错误信息是什么意思。

资源文件包含一长串 JSON 格式的邮政编码,这些邮政编码在初始迁移时播种到数据库中。

更新

我已尝试将其添加到 csproj,但仍然收到相同的错误消息:

<ItemGroup>
    <EmbeddedResource Include="DbSeedingResource.resx" />
</ItemGroup>

更新 2

我尝试从我的项目中删除 resx 文件,然后我再次收到此错误:

无法获取 DbContext 的反射类型

标签: c#asp.net-core-mvcef-code-firstef-core-2.2asp.net-mvc-scaffolding

解决方案


对于 NetCore 项目有类似的问题,我注意到在添加迁移(让我们命名WhateverMigration)之后,.resx文件引用作为 EmbeddedResource 没有添加到.csproj即使一切看起来都很好。所以我打开了我的.csproj文件并添加了:

<EmbeddedResource Update="Migrations\202107071914322_WhateverMigration.resx">
    <Generator></Generator>
    <DependentUpon>202107071914322_WhateverMigration.cs</DependentUpon>
</EmbeddedResource>

推荐阅读