以下是我正在看的内容
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
,而不是相反。我对此很新,所以我很感激任何帮助。
答案 0 :(得分:80)
这很令人尴尬,但也许这将有助于将来成为一名Google员工。
在“程序包管理器控制台”的顶部,我的默认项目设置为错误的项目。将其更改为我的模型项目修复它。
答案 1 :(得分:6)
这也可能是由于.NET Core与您的项目之间的平台不匹配引起的。您收到错误:
无法加载程序集“ DataProject”。确保启动项目“ ProgramProject”已引用它。
即使您指定了正确的项目和启动项目名称。 (通过使用VS和Package Manager控制台中的下拉框,或使用-project
和-startupproject
参数。)
您可以通过切换到任何CPU而不是x86来修复它,反之亦然(或者也许切换到x64等),但是每次需要对模型进行更改时,都必须来回切换/ DB。
根据this answer,您可以通过更改系统环境变量中.NET Core路径条目的顺序来解决此问题。如果遇到此错误,则意味着第一个.NET Core路径用于x64,但是您尝试对x86项目进行更改,或者可能以其他方式进行更改。将您要定位的对象移到您不定位的对象上,保存并重新启动Visual Studio。
您可以看到dotnet --info
命令当前正在使用哪个。
(请注意,这假定您已经安装了这两个组件。您可能还只安装了其中一个,在这种情况下,您需要安装另一个,然后检查PATH条目的顺序;如果第二个您安装的一个就是您想要的一个,那么您肯定需要更改PATH的顺序以使其成为VS使用的一个,因为它的输入应该在底部。)
答案 2 :(得分:4)
答案 3 :(得分:1)
如果您使用 N-Tier 设计您的项目并希望使用 CLI,那么您将在 CLI 上在根项目文件夹中运行此命令。之后将在 DataAccess 层中创建迁移文件。
E> g++: error: /home/annabelperry/R/lib/libhts.a,: No such file or directory
答案 4 :(得分:0)
我遇到了这个确切的问题,结果是因为我在一个空白解决方案下创建了该项目,然后单独添加了类库和 Web 应用程序,它没有启动项目。