找不到任何适合指定文化或中立文化的资源

问题描述 投票:0回答:2

昨天,我收到错误消息

无法获取 DbContext 的反射类型

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

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

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

我不明白这个错误消息的含义。

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

更新

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

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

更新2

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

无法获取 DbContext 的反射类型

c# asp.net-core-mvc ef-code-first ef-core-2.2 asp.net-mvc-scaffolding
2个回答
3
投票

对于 NetCore 项目也有类似的问题,我注意到在添加迁移后(让我们将其命名为

WhateverMigration
),作为 EmbeddedResource 的
.resx
文件引用并未添加到
.csproj
,即使一切看起来都很好。所以我打开了我的
.csproj
文件并添加了:

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

0
投票

我在尝试运行 EF 迁移时遇到了类似的问题,我认为同样的答案也适用。

我的错误是

“找不到任何适合指定文化的资源或 中立文化。确保 “(Namespace).(MyMigrationName).resources”已正确嵌入或 在编译时链接到程序集“(MyAssembly)”,或者所有 所需的卫星程序集可加载并已完全签名。”

在 VS 解决方案资源管理器中,我单击文件旁边的三角形以查看 .resx 文件,我注意到用于迁移的 resx 文件未包含在解决方案中:

我右键单击了有问题的 .resx 文件,将其包含在解决方案中,然后他的“丢失文件”小图标被更令人放心和繁荣的东西所取代!一切都成功了。

不确定问题是如何产生的,但很高兴能得到解决。

© www.soinside.com 2019 - 2024. All rights reserved.