我有许多需要在我们的构建服务器上构建的.sqlproj项目。我不想在构建服务器上安装所有Visual Studio,因此我可以安装SSDT来构建这些。如何在没有完整VS安装的情况下构建.sqlproj项目?
这是我在没有安装SSDT的情况下尝试构建时在构建服务器上遇到的原始错误:
C:\MyProject\MyProj.sqlproj (4): The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
答案 0 :(得分:45)
答案 1 :(得分:7)
Microsoft SQL Server数据工具: http://msdn.microsoft.com/en-us/data/hh297027
在构建计算机上安装工具以解决问题。
答案 2 :(得分:4)
Microsoft SQL Server数据工具团队发布了一个名为Microsoft.Data.Tools.Msbuild的NuGet包,它有助于在构建服务器上构建SQL项目。
NuGet包:https://www.nuget.org/packages/Microsoft.Data.Tools.Msbuild/
答案 3 :(得分:0)
我在Azure DevOps CI / CD管道上构建SQL Server项目时遇到了完全相同的问题。预制的构建任务都不适合我。
一些答案提到了NuGet软件包,但是我不确定如何使用它,因为SQL Server项目不允许安装NuGet软件包。
我通过避免将SQL Server项目添加到解决方案中来解决了这个问题。
我通过使用MSBuild SDK实现了这一目标,该功能能够从一组SQL脚本生成SQL Server数据层应用程序包(.dacpac
)。通过将第二个项目添加到解决方案中,我设法继续利用通过Visual Studio上的SQL Server Object Explorer将项目链接到实时数据库的优势。在此answer中,我对自己的实现进行了更详细的说明。