Visual Studio 以外でNuGet Package Manager コンソールを開く方法はありますか?
私の目的は、EntityFramework.Migrationsを使用して作成したいくつかの移行を実行することです。
Update-Database –Verbose
基本的に、Visual Studio はなく、PowerShell 2.0 と NuGet コマンド ライン ツールがある環境でコマンドを実行したいと考えています。
Visual Studio 以外でNuGet Package Manager コンソールを開く方法はありますか?
私の目的は、EntityFramework.Migrationsを使用して作成したいくつかの移行を実行することです。
Update-Database –Verbose
基本的に、Visual Studio はなく、PowerShell 2.0 と NuGet コマンド ライン ツールがある環境でコマンドを実行したいと考えています。
元の投稿された回答は当時は正しかったのですが、現在 (4.3 の時点で) migrate.exe があるため、nuget や powershell は必要ありません。
packages\EntityFramework.4.3.1\tools\migrate.exe
http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-released.aspxを参照してください。
update-database
EF xxx を使用して、通常の PowerShell ウィンドウから Package Manager コンソールで同等の機能を実行する PowerShell 関数を次に示します。
開発マシンでの「フルビルド」プロセスの一部としてコマンドラインから使用しています。
function Update-Database($solutionDir, $projectBinDir, $assemblyName, $appConfigFile)
{
$efMigrateExe = "$solutionDir\packages\EntityFramework.*\tools\migrate.exe"
Write-Host "Updating Entity Framework Database"
Write-Host " Migrate.exe at $efMigrateExe"
Write-Host " EF project binary at $projectBinDir"
Write-Host " EF config at $appConfigFile"
. "$efMigrateExe" "$assemblyName" /startupConfigurationFile="$appConfigFile" /startupDirectory="$projectBinDir"
}
パラメータは次のとおりです。
$solutionDir
-- ソリューションが存在するディレクトリ。packages
フォルダ
の親。$projectBinDir
--<something>\bin\debug
アセンブリを含むディレクトリとDbContext
.
$assemblyName
-- アセンブリ ファイルの名前など--MyEfProject.dll
appConfigFile
接続文字列などを含むファイルの名前。パッケージ マネージャー コンソールで使用するのと同じです。app.config
web.config
-StartupProjectName