类型或名称空间名称“ Management”在名称空间“ Microsoft.SqlServer”中不存在-SqlParser和VSTS自动生成

时间:2018-07-04 14:36:07

标签: c# sql-server parsing azure-devops azure-pipelines

我使用Microsoft.SqlServer.Management.SqlParser.Parser命名空间中的解析器来解析Sql语句,但是在测试时可以正常工作;在VSTS中构建失败,出现以下错误:

  

错误CS0234:类型或名称空间名称“管理”不存在   在名称空间“ Microsoft.SqlServer”中(您是否缺少程序集   参考?)

我通过使用添加引用上下文添加对Microsoft.SqlServer.Management.SqlParser的引用并选择扩展来引用该库。

我具有以下导入

using Microsoft.SqlServer.Management.SqlParser.Parser;

并正在执行解析器

var rst = Parser.Parse(sqlStr);  
return Json(rst.Errors, JsonRequestBehavior.AllowGet);

我假设我需要其他库才能在VSTS中构建,但不确定哪个?也许这些库不是基于VSTS构建的?请协助解决。

1 个答案:

答案 0 :(得分:0)

如果目标是SQL Server 2017,则需要在项目中包含SMO NuGet软件包。

否则,您将需要从目标或引用的SQL Server版本和Service Pack级别的功能包中安装SharedManagementObjects.msi。

SQL Server 2016 SP2 Feature Pack
SQL Server 2014 SP2 Feature Pack
SQL Server 2012 SP4 Feature Pack