87

这就是我正在看的

PM> Add-Migration AddedSubdivion -StartUpProjectName Data -Verbose
Using StartUp project 'Data'.
Using NuGet project 'Registry'.
Could not load assembly 'Registry'. (If you are using Code First Migrations inside 
Visual Studio this can happen if the startUp project for your solution does not 
reference the project that contains your migrations. You can either change the startUp 
project for your solution or use the -StartUpProjectName parameter.)

我不知道它为什么要引用该Registry项目。Registry取决于Data,而不是相反。我对此很陌生,所以我很感激任何帮助。

4

8 回答 8

270

这很尴尬,但也许这会在未来帮助谷歌员工。

在“包管理器控制台”的顶部,我的默认项目被设置为错误的项目。将其更改为我的模型项目修复了它。

在此处输入图像描述

于 2013-05-23T17:28:59.323 回答
14

这也可能是由 .NET Core 和您的项目之间的平台不匹配引起的。你得到错误:

无法加载程序集“DataProject”。确保它被启动项目“ProgramProject”引用。

即使您指定了正确的项目和启动项目名称。(通过使用 VS 和 Package Manager Console 中的下拉框,或使用-projectand-startupproject参数。)

您可以通过切换到任何 CPU 而不是 x86 来修复它,反之亦然(或者可能切换到 x64 等),但是每次需要对模型/数据库进行更改时,您都必须来回切换。

根据此答案,您可以通过更改系统环境变量中的 .NET Core 路径条目的顺序来解决此问题。如果您收到此错误,则表示第一个 .NET Core 路径适用于 x64,但您正在尝试对 x86 项目进行更改,或者可能以其他方式进行更改。将您要定位的那个移到您没有定位的那个上方,保存,然后重新启动 Visual Studio。

您可以通过命令查看当前正在使用哪一个dotnet --info

(请注意,这假设您已经安装了两者。您也可能只安装了其中一个,在这种情况下,您需要安装另一个,然后检查 PATH 条目的顺序;如果您安装了第二个是您想要的那个,那么您肯定需要更改 PATH 顺序以使其成为 VS 使用的那个,因为它的条目应该在底部。)

于 2020-06-19T19:34:01.917 回答
14

Package Manager Console如果您停靠在一个狭窄的窗口...隐藏默认项目 ,问题可能不会那么明显。在此处输入图像描述

它需要一个广泛的对接。 在此处输入图像描述

于 2021-02-27T22:50:13.423 回答
2

确保您专注于:

1- 启动项目是 UI(MVC、API 等)。

2- 包管理器控制台中的默认项目位于 (ApplicationDbContext) 的位置。

于 2021-08-29T16:19:28.743 回答
2

如果一切都失败了,总会有verbose标志(-v)。

类似的命令dotnet ef database update -v应该有助于澄清所ef面临的问题。

就我而言,问题源于 EntityFramework 发现很难处理我的平台目标从更改AnyCPUx86或的事实x64

System.BadImageFormatException: Could not load file or assembly 'MyProject, Culture=neutral, PublicKeyToken=null'. An attempt was made to load a program with an incorrect format.

暂时将平台目标更改为AnyCPU正常工作。

于 2021-10-09T19:50:19.370 回答
0

我想补充一点,如果您使用的是 .net6 预览版,则需要更新软件包。

因此您需要使用预览版 EntityFrameworkCore.Tools 和 EntityFrameworkCore.SqlServer(截至今天的 6.0.0-rc-1.21452.10 版本)

于 2021-10-08T00:20:15.853 回答
0

我遇到了这个确切的问题,结果是因为我在空白解决方案下创建了项目,然后分别添加了类库和 Web 应用程序,它没有启动项目。

于 2021-02-14T10:53:33.600 回答
0

我有类似的问题,但我通过这样做解决了它。

于 2022-02-28T19:28:29.270 回答