c# - 命名空间“Microsoft.SqlServer”中不存在类型或命名空间名称“Management” - SqlParser 和 VSTS 自动构建
问题描述
我正在使用作为Microsoft.SqlServer.Management.SqlParser.Parser
命名空间一部分的 Parser 来解析 Sql 语句,但是在测试时它可以正常工作;在 VSTS 中构建失败并出现以下错误:
错误 CS0234:命名空间“Microsoft.SqlServer”中不存在类型或命名空间名称“Management”(您是否缺少程序集引用?)
我通过添加对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 服务器版本和服务包级别的功能包中安装 SharedManagementObjects.msi。
SQL Server 2016 SP2 功能包
SQL Server 2014 SP2 功能包
SQL Server 2012 SP4 功能包
推荐阅读
- ios - React Native CLI 与 Expo CLI 使用哪一个?
- java - GRADLE 构建错误:权限被拒绝:没有更多信息
- windows - 尝试在 Windows 上的 Kafka 中实现 SSL/TLS 时出现 java.lang.OutOfMemory 错误
- android - OnItemclickListner Toast 消息未在 android 中显示
- php - Laravel,如何每天存储多个打开和关闭时间
- c# - C#我如何将“*”转换为字节
- moodle - R/exams Moodle:数字和多项选择题的完形填空
- java - 通过 java 连接时仅在 Hive 中获取默认数据库
- c++ - 错误消息:使用“string* +=”后“不匹配'operator+='”
- php - Laravel Azure Blob 存储缓存图像