更新数据库时System.Resources.MissingManifestResourceException

时间:2013-05-22 16:31:11

标签: entity-framework asp.net-mvc-4 ef-migrations

我将我正在处理的Web应用程序从一台机器移动到另一台机器。它是使用.Net MVC和Entity Framework构建的,但是当我执行Update-Database命令以便更新数据库时,我收到此错误:

Could not find any resources appropriate for the specified culture or the neutral culture.  Make sure "NameofMigration.resources" was correctly embedded or linked into assembly "NameofProject" at compile time, or that all the satellite assemblies required are loadable and fully signed.

有谁知道如何修复此错误?

6 个答案:

答案 0 :(得分:36)

当同事开发人员检查项目时(由于合并问题),当项目文件中没有包含迁移的resx部分时,我遇到了类似的问题。您可能会发现resx文件在那里但是显示为灰色。如果它在那里,请尝试右键单击“NameofMigration.resx”文件并选择“include in project”。如果不存在,最好在另一台机器上找到它并将其添加到项目中: - )

答案 1 :(得分:1)

我遇到了相同的问题(VS 2017),此处提供的解决方案均无效。我通过清洁解决方案并手动删除bin文件夹然后重新构建来解决了该问题。

答案 2 :(得分:0)

卸载然后重新加载迁移文件对我有用!

答案 3 :(得分:0)

对于VS 2017,解决方案如下:

转到项目文件,对于所有迁移,请采用以下格式:

 <Compile Include="Migrations\201804251606403_emailsWithEffort.cs" />
<Compile Include="Migrations\201804251606403_emailsWithEffort.Designer.cs">
  <DependentUpon>201804251606403_emailsWithEffort.cs</DependentUpon>
</Compile>

    <EmbeddedResource Include="Migrations\201804251606403_emailsWithEffort.resx">
  <DependentUpon>201804251606403_emailsWithEffort.cs</DependentUpon>
</EmbeddedResource>

我想问题是在更改Visual Studio版本时,描述依赖项的旧格式仍然存在,而Visual Studio 2017无法正确解释它。

因此,应用上述格式(将格式更改为此),可以使Visual Studio知道其资源所在。

答案 4 :(得分:0)

如果有人想调查源代码或编译器以了解发生这种情况的原因;我现在不喜欢它。经过一个小时的修补,我的决议很奇怪。

当然,我不应该这样做,但是为了获得快速代码,我将类暂时添加到与生成的DbMigration 201906212110305_initial.cs相同的文件中。在同一文件中仅存在这些临时类会导致此错误。一旦将它们移到他们自己的文件中(无论如何我都会这样做),运行时错误就消失了。

答案 5 :(得分:-1)

略有不同的情况,我创建了一个新环境和数据库,并收到了上述错误消息。

对于我的修复,我必须右键单击迁移文件(initial和resx)并将property设置为embedded as resource。之后,Update-database命令运行良好。