我正在Windows应用程序中工作,我需要通过编程来执行一些SQL脚本。
为此,我正在使用程序集 Microsoft.SqlServer.Smo,Version = 14.100.0.0
这是我的代码
/// <summary>
/// Executes the script query.
/// </summary>
/// <param name="connectionString">The connection string.</param>
/// <param name="dbScriptData">The database script data.</param>
private void ExecuteScriptQeury(string connectionString, string dbScriptData)
{
Logger.LogInfo("DB Setup: script execution start");
SqlConnection conn = new SqlConnection(connectionString);
//-- create SQL Server instance ---
Server server = new Server(new ServerConnection(conn));
server.ConnectionContext.ExecuteNonQuery(dbScriptData); // execute sql script
}
相同的代码在调试模式下效果很好。当我发布此代码并将其.exe
安装在同一台计算机上时,它也可以正常工作。
但是在另一台计算机上安装.exe
时,在执行脚本时出现了异常。
这是我在日志中捕获的异常。
错误消息:无法加载文件或程序集'Microsoft.SqlServer.BatchParser,版本= 14.100.0.0,区域性=中性,PublicKeyToken = 89845dcd8080cc91'或其依赖项之一。试图加载格式错误的程序。
用于构建Windows应用的工具是Visual Studio 2019,我正在使用:
编辑1:
我强制用户必须在安装exe安装程序之前在其计算机上预安装.NET Framework 4.6