![](/img/trans.png)
[英]The type or namespace name 'Smo' does not exist in the namespace 'Microsoft.SqlServer' (are you missing an assembly reference?)
[英]The type or namespace name 'Management' does not exist in the namespace 'Microsoft.SqlServer' - SqlParser and VSTS automated builds
我正在使用属于Microsoft.SqlServer.Management.SqlParser.Parser
命名空间的Parser来解析Sql语句,但在测试时它可以正常工作; VSTS中的构建失败,并出现以下错误:
错误CS0234:命名空间“Microsoft.SqlServer”中不存在类型或命名空间名称“管理”(您是否缺少程序集引用?)
我通过使用添加引用上下文并选择Extensions添加对Microsoft.SqlServer.Management.SqlParser
的引用来引用该库。
我有以下导入
using Microsoft.SqlServer.Management.SqlParser.Parser;
并正在执行解析器
var rst = Parser.Parse(sqlStr);
return Json(rst.Errors, JsonRequestBehavior.AllowGet);
我假设我需要额外的库来构建VSTS,但我不确定哪个? 也许这些库不是建立在VSTS之上的? 请协助解决方案。
如果您的目标是SQL Server 2017,那么您需要在项目中包含SMO NuGet包。
否则,您需要从要定位或引用的SQL Server版本和Service Pack级别的Feature Pack安装SharedManagementObjects.msi。
SQL Server 2016 SP2功能包
SQL Server 2014 SP2功能包
SQL Server 2012 SP4功能包
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.