Im遵循此github repo,使用dacpac为突触设置ci-cd管道:https://github.com/santiagxf/synapse-cicd
在CI的github工作流中,在BUILD DACPAC步骤中,我得到以下错误:
Build FAILED.
/usr/share/azuredatastudio/resources/app/extensions/mssql/sqltoolsservice/Linux/3.0.0-
release.110/Microsoft.Data.Tools.Schema.SqlTasks.targets(1216,24): error MSB4057: The
target "BuildOnlySettings" does not exist in the project.
我正在使用Azure Data Studio中的SQL数据库项目插件来创建项目。默认情况下,它使用.sqlproj.
以下是github runner中的dotnet详细信息:
Version: 3.1.416
Commit: 8d3765c609
Runtime Environment:
OS Name: ubuntu
OS Version: 20.04
OS Platform: Linux
RID: ubuntu.20.04-x64
Base Path: /home/runner/.dotnet/sdk/3.1.416/
Host (useful for support):
Version: 3.1.22
Commit: 35fa579a30
.NET Core SDKs installed:
3.1.416 [/home/runner/.dotnet/sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.App 3.1.22 [/home/runner/.dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.1.22 [/home/runner/.dotnet/shared/Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
Microsoft (R) Build Engine version 16.7.2+b60ddb6f4 for .NET
Copyright (C) Microsoft Corporation. All rights reserved.
/usr/share/azuredatastudio/resources/app/extensions/mssql/sqltoolsservice/Linux/3.0.0-release.110/Microsoft.Data.Tools.Schema.SqlTasks.targets(1216,24): error MSB4057: The target "BuildOnlySettings" does not exist in the project.```
I have also tried using dotnet 5
希望您现在已经解决了这个问题,但如果其他人正在寻找这个问题的解决方案,我相信这可能是您在.sqlproj文件中缺少的:
带有构建目标和其他属性的SQLProj文件示例说明
如果在文本编辑器中打开.sqlproj文件,您将看到该文件的属性。您应该有一个名为"的XML元素;项目";其性质和值为"0";DefaultTargets=";构建";它看起来是这样的:enter code here
我试图为我的整个.sqlproj添加代码,因为在从Azure Data Studio构建时还有一些其他重要元素需要考虑,特别是关于对master数据库、sqlCMDVariables等的引用……但我在这里根本不怎么发布;在此处插入代码";这个东西非常不稳定,我不想花一个小时试图弄清楚如何使用它,所以……不管怎样。如果有足够的兴趣,我稍后会弄清楚,但图像必须这样做。
希望这能帮助到别人。您还将看到(通常是必需的(对任何构建的Master数据库的引用,以及";配置条件=";属性组元素中。如果您使用yml文件进行构建,这是另一件重要的事情,因为您需要在CI管道中显式声明您的dotnet构建等等。