如何解决使用dotnet run --project选项时获取NullReferenceException
我正在尝试使用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>
解决方法
对于其他任何人,降级到DBUp 4.2.0可以为我解决该问题
,DbUp 似乎在 v4.5.0 中解决了这个问题。
因此,将 dbup-sqlserver
升级到此版本也可能会修复异常。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。