我正在尝试使用dotnet run --project
语法运行我的项目文件,但我得到一个 NullReferenceException,如下所示:
Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
at DbUp.Engine.UpgradeEngine.PerformUpgrade()
这是我的主要内容:
static int Main()
{
var connectionString =
"Data Source=.;" +
"Initial Catalog=MyTable;" +
"User id=SA;" +
"Password=<mypasswordhere>;";
var upgrader =
DeployChanges.To
.SqlDatabase(connectionString)
.WithScriptsEmbeddedInAssembly(Assembly.GetExecutingAssembly())
.LogToConsole()
.Build();
var result = upgrader.PerformUpgrade();
if (!result.Successful)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine(result.Error);
Console.ResetColor();
return -1;
}
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Success!");
Console.ResetColor();
return 0;
}
使用将实例Console.WriteLine(upgrader)
打印DbUp.Engine.UpgradeEngine
到控制台。
我正在使用dbup-core和dbup-sqlserver包。我猜这是一个依赖问题,因为如果我在 Visual Studio 中运行一切正常。
这是我在 Powershell 中使用的命令:
dotnet run --project <full path to my .csproj file>