1

在我启用Enable NuGet Package RestoreVisual Studio ASP.Net MVC 项目后,构建一个干净的 git-clone 就像 NuGet 下载必要的文件一样,使用packages.config. 但是,我必须重新启动 Visual Studio才能Update-Database在包管理器控制台中使用。我知道这可能与 EntityFramework-package 为 Powershell 包管理器控制台安装扩展有关,但这究竟是如何工作的,没有快捷方式,所以我不必重新启动 Visual Studio?

这个 Update-Database 脚本的具体位置是什么?我在 中找不到它./packages/EntityFramework.5.0.0/

另外,我发现我还必须添加./.nuget/NuGet.exe到 git-repository 有点不方便。有没有更好的办法?

4

1 回答 1

1

遗憾的是,如果不重新打开解决方案或确保在首次打开解决方案时未打开包管理器控制台,则当前不支持在还原包后为实体框架提供 PowerShell 脚本。

Entity Framework NuGet 包有一个init.ps1 PowerShell 脚本,它在包管理器控制台中设置各种 PowerShell 命令。init.ps1 文件在 Visual Studio 中打开解决方案/项目时运行,或者在第一次打开包管理器控制台并打开解决方案后运行。恢复 NuGet 包将在解决方案打开后恢复 init.ps1,因此不会运行此文件。这就是为什么在还原后命令在控制台中不可用的原因。

您应该能够关闭并重新打开解决方案,而不是重新启动 Visual Studio。

Update-Database 命令以及其他命令位于实体框架 NuGet 包中包含的程序集之一 (EntityFramework.PowerShell.dll) 中。

对于 NuGet 包还原,如果您不想在源代码控制系统中包含.nuget/NuGet.exe文件,则不必这样做。对于最新版本的 NuGet,Visual Studio 将在构建项目之前自动完成包还原。您还可以通过从命令行运行NuGet.exe restore YourSolution.sln来恢复包。

于 2014-06-15T19:47:17.830 回答