Microsoft.Data.Schema.ScriptDom.Sql dll/ пространство имен отсутствует в vs 2013

Есть ли способ получить пространство имен Microsoft.Data.Schema.ScriptDom.Sql, добавленное к версии 2013, я искал и обнаружил, что ранее Microsoft.Data.Schema.ScriptDom был заменен TransactSql.ScriptDom, но я не могу найти способ включить Microsoft.Data.Schema.ScriptDom.Sql. Кроме того, простое добавление TransactSql.ScriptDom не работает, мне нужен класс Expression и операторы BinaryExpressionType.GreaterThan, BinaryExpressionType.Equals, которые я не могу получить, используя только TransactSql.ScriptDom. Может кто-нибудь подсказать, как их получить или где найти dll sql

1 ответ

Вы должны удалить существующую ссылку на ScriptDom из вашего проекта и вместо этого добавить новую ссылку на Microsoft.SqlServer.TransactSql.ScriptDom.dll.

Это потому, что ScriptDom больше не поставляется с Visual Studio. Начиная с SQL Server 2012 он поставляется вместе с SQL Server. Точная dll, которую вы должны добавить в качестве зависимости к вашему проекту, зависит от самой высокой версии SQL-сервера, которую вы намерены поддерживать. DLL находится в подпапке папки, в которую вы установили SQL-сервер. Обычно вы должны стремиться ссылаться на самую высокую версию, доступную вам, поскольку ScriptDom имеет обратную совместимость: вы можете выбрать, выбрав соответствующий объект синтаксического анализа и генератор, какой уровень совместимости вам необходим. Чтобы помочь вам найти его, расположение DLL в моей установке: C:\Program Files\Microsoft SQL Server\140\DAC\bin.

Другие вопросы по тегам