Web部署任务失败。(由于缺少依赖项,SQL提供程序无法运行。请确保已安装Microsoft SQL Server Transact-SQL ScriptDom。
我得到这个错误,而发布任何web应用程序在visual studio与更新数据库启用。它工作得很好,直到我升级SQL SERVER管理工作室到2016年。
我尝试卸载和重新安装sql server和所有必需的组件,但徒劳
任何建议将不胜感激
由于
在GAC中注册ScriptDom程序集为我们解决了这个问题:
"%ProgramFiles(x86)%Microsoft SDKsWindowsv10.0AbinNETFX 4.6.2 Toolsgacutil" /i "C:Program Files (x86)Microsoft Visual Studio 14.0Common7IDEExtensionsMicrosoftSQLDBDAC130Microsoft.SqlServer.TransactSql.ScriptDom.dll
我不得不
使用Web Platform Installer安装:
-
Microsoft SQL Server 2012 Data-Tier Application Framework
-
SQL Server 2012 Transact-SQL ScriptDom
-
SQL Server System CLR Types 11.0
并自行注册(根据版本号调整)
"%ProgramFiles(x86)%Microsoft SDKsWindowsv10.0AbinNETFX 4.6.2 Toolsgacutil" /i "C:Program Files (x86)Microsoft Visual Studio 14.0Common7IDEExtensionsMicrosoftSQLDBDAC130Microsoft.SqlServer.TransactSql.ScriptDom.dll
安装Visual Studio 2012的SQL Server Data Tools (SSDT)包为我解决了这个错误。
您可以从这里下载VS2012和VS2013的安装程序:https://msdn.microsoft.com/en-us/library/mt674919.aspx#Anchor_0
- DacFxNeededForSQLProvider
- ERROR_SCRIPTDOM_NEEDED_FOR_SQL_PROVIDER
- ERROR_SQLCLRTYPES_NEEDED_FOR_SQL_PROVIDER
上述3个错误共有以下诊断和解决方法:
诊断: SQL DAC及其依赖项未安装
解决方案:使用Web平台安装程序安装:
- Microsoft SQL Server 2012 Data-Tier Application Framework SQL Server 2012 Transact-SQL ScriptDom SQL Server System CLR Types 11.0
在命令提示符中运行下面的代码,它可以工作。
"C:Program Files (x86)Microsoft SDKsWindowsv10.0AbinNETFX 4.6.2 Toolsgacutil" /i "C:Program Files (x86)Microsoft Visual Studio 14.0Common7IDEExtensionsMicrosoftSQLDBDAC130Microsoft.SqlServer.TransactSql.ScriptDom.dll"
点击这里查看来源
将所有这些dll注册到gac对我来说都是有效的。将所有这些命令写入命令提示符。确保以"Administrator"身份打开cmd
"%ProgramFiles(x86)%Microsoft SDKsWindowsv10.0AbinNETFX 4.6.1 Toolsgacutil" /i "C:Program Files (x86)Microsoft SQL Server140DACbinHyak.Common.dll
"%ProgramFiles(x86)%Microsoft SDKsWindowsv10.0AbinNETFX 4.6.1 Toolsgacutil" /i "C:Program Files (x86)Microsoft SQL Server140DACbinMicrosoft.Azure.KeyVault.dll
"%ProgramFiles(x86)%Microsoft SDKsWindowsv10.0AbinNETFX 4.6.1 Toolsgacutil" /i "C:Program Files (x86)Microsoft SQL Server140DACbinMicrosoft.Data.Tools.Utilities.dll
"%ProgramFiles(x86)%Microsoft SDKsWindowsv10.0AbinNETFX 4.6.1 Toolsgacutil" /i "C:Program Files (x86)Microsoft SQL Server140DACbinMicrosoft.IdentityModel.Clients.ActiveDirectory.Platform.dll
"%ProgramFiles(x86)%Microsoft SDKsWindowsv10.0AbinNETFX 4.6.1 Toolsgacutil" /i "C:Program Files (x86)Microsoft SQL Server140DACbinMicrosoft.SqlServer.Dac.Extensions.dll
"%ProgramFiles(x86)%Microsoft SDKsWindowsv10.0AbinNETFX 4.6.1 Toolsgacutil" /i "C:Program Files (x86)Microsoft SQL Server140DACbinMicrosoft.Threading.Tasks.dll
"%ProgramFiles(x86)%Microsoft SDKsWindowsv10.0AbinNETFX 4.6.1 Toolsgacutil" /i "C:Program Files (x86)Microsoft SQL Server140DACbinMicrosoft.Azure.Common.dll
"%ProgramFiles(x86)%Microsoft SDKsWindowsv10.0AbinNETFX 4.6.1 Toolsgacutil" /i "C:Program Files (x86)Microsoft SQL Server140DACbinMicrosoft.Data.Tools.Schema.Sql.dll
"%ProgramFiles(x86)%Microsoft SDKsWindowsv10.0AbinNETFX 4.6.1 Toolsgacutil" /i "C:Program Files (x86)Microsoft SQL Server140DACbinMicrosoft.IdentityModel.Clients.ActiveDirectory.dll
"%ProgramFiles(x86)%Microsoft SDKsWindowsv10.0AbinNETFX 4.6.1 Toolsgacutil" /i "C:Program Files (x86)Microsoft SQL Server140DACbinMicrosoft.SqlServer.DacAzureExtensions.dll
"%ProgramFiles(x86)%Microsoft SDKsWindowsv10.0AbinNETFX 4.6.1 Toolsgacutil" /i "C:Program Files (x86)Microsoft SQL Server140DACbinMicrosoft.SqlServer.Management.AlwaysEncrypted.AzureKeyVaultProvider.dll
"%ProgramFiles(x86)%Microsoft SDKsWindowsv10.0AbinNETFX 4.6.1 Toolsgacutil" /i "C:Program Files (x86)Microsoft SQL Server140DACbinMicrosoft.SqlServer.Types.dll
"%ProgramFiles(x86)%Microsoft SDKsWindowsv10.0AbinNETFX 4.6.1 Toolsgacutil" /i "C:Program Files (x86)Microsoft SQL Server140DACbinExtensionsMicrosoft.SqlServer.Services.ImportExport.DacFxExtensions.dll