NuGet包管理器控制台默认项目下拉列表为空

时间:2012-08-19 17:23:06

标签: nuget visual-studio-2012 ef-migrations entity-framework-5

我最近从MSDN升级到Visual Studio 2012 RTM Ultimate。我正在使用EF Code First Migrations在我的应用程序中构建我的数据库,最近我添加了一个新实体,并希望为它进行迁移。

要执行此操作,您需要在VS中打开“包管理控制台”窗口,然后键入add-migration "some name here"。这将自上次更新以来对数据库进行任何更改。


问题

VS 2012 RC上未发生此问题

我遇到的问题是,尽管我的解决方案中有多个项目,但未填充程序包管理器控制台中的“默认项目”下拉列表。我在上面输入命令时使用的默认项目是错误的项目(我的迁移在另一个项目中)。当我这样做时,我收到以下错误:

  

在程序集“ProjectA”中未找到任何迁移配置类型。 (在Visual Studio中,您可以使用程序包管理器控制台中的“启用 - 迁移”命令添加迁移配置。)

Visual Studio 2012 Package Manager Console


我尝试过什么

我尝试将正确的项目(ProjectB)设置为启动项目,但只是出现此错误:

  

无法加载程序集“ProjectA”。 (如果在Visual Studio中使用Code First Migrations,如果解决方案的startUp项目未引用包含迁移的项目,则可能会发生这种情况。您可以更改解决方案的startUp项目或使用-StartUpProjectName参数。)< / p>


问题

如何手动指定添加哪些项目迁移,或强制默认项目下拉列表填充?

10 个答案:

答案 0 :(得分:15)

我可以使用以下方法手动指定项目:

add-migration "Locations" -StartupProjectName "ProjectA" -ProjectName "ProjectB"

这个命令的文档很稀疏,所以这就是我假设发生的事情:

  1. -StartupProjectName指定存储数据库配置的项目(在我的情况下是MVC4项目)
  2. -ProjectName指定要迁移迁移的项目。
  3. 由于测试了这个问题,我已将ProjectB设置为我的应用中的启动项目,但我认为如果将正确的项目设置为VS中的启动项目,则可以省略-StartupProjectName。 / p>

答案 1 :(得分:12)

在VS 2015中,我刚刚重新启动IDE,再次填充了下拉列表。

答案 2 :(得分:2)

关闭IDE并再次打开可能有所帮助。它适用于我的VS2015

答案 3 :(得分:0)

我在Visual Studio 2013中遇到了类似的问题。右键单击[解决方案] - &gt; [属性] - &gt; [启动项目]确保选中[单个启动项目]。我以前为Azure工作者角色测试选择了多个项目。

在现有的VS之后,包管理器工作正常。

答案 4 :(得分:0)

关闭解决方案并再次打开。关闭IDE有时需要更多时间。这适用于VS 2017

答案 5 :(得分:0)

我必须首先还原NuGet软件包。然后显示出来。

答案 6 :(得分:0)

首次收盘vs, 然后转到设置计算机,应用和功能,microsoft-visual-studio-installer, 修改,在第二个选项卡中,您将获得一个选项来定义想要使用vs的哪些部分,选择属于nuget的任何部分。 完成后,再次打开vs。现在应该可以工作了 成功!!!

答案 7 :(得分:0)

您可以在Solution explorer下选择项目,然后项目将显示在软件包管理器控制台上。对我有用

答案 8 :(得分:0)

如果有人在Visual Studio 2019和.NET Core项目中遇到此问题,这是因为界面缺乏将解决方案文件添加到项目中的方法。

我可以使用如下命令行工具来解决此问题:

首先导航到保存项目的文件夹,然后打开(git) bash 控制台窗口。

然后将解决方案文件添加到该文件夹​​。

dotnet new sln 

然后将对每个项目的引用添加到解决方案中(*将找到所有解决方案)

dotnet sln *.sln add <project-folder-1>/<project-name-1>.csproj
dotnet sln *.sln add <project-folder-2>/<project-name-2>.csproj

请记住,将项目文件夹和名称替换为所需的内容。

关闭Visual Studio 2019并重新打开。

Nuget Package Manager和控制台将按预期工作。

答案 9 :(得分:0)

我必须打开解决方案。

要查看解决方案,请查看“解决方案资源管理器”窗格的底部。应该有一个“ Team Explorer”标签。点击它。然后,在窗格的下半部分,应列出您的解决方案。双击要为其安装东西的解决方案,或右键单击它并选择“打开”。

这将打开预选正确项目的Package Manager控制台。