Я использовал Azure Data Studio для создания проекта sql в файле .sqlproj, который выглядит следующим образом:
<?xml version = "1.0" encoding = "utf-8"?>
<Project DefaultTargets = "Build">
<Sdk Name = "Microsoft.Build.Sql" Version = "0.1.12-preview" />
<PropertyGroup>
<Name>SOmeName</Name>
<ProjectGuid>{xxxx-xxxxx}</ProjectGuid>
<DSP>Microsoft.Data.Tools.Schema.Sql.SqlAzureV12DatabaseSchemaProvider</DSP>
<ModelCollation>1033, CI</ModelCollation>
</PropertyGroup>
<ItemGroup>
<Folder Include = "TestSchema" />
</ItemGroup>
<Target Name = "BeforeBuild">
<Delete Files = "$(BaseIntermediateOutputPath)\project.assets.json" />
</Target>
</Project>
Я использую Azure Pipelines (агент Windows) для создания файла .sqlproj с помощью задачи MSBuild@1 (или VSBuild@1):
- task: MSBuild@1 (VSBuild@1)
displayName: 'Build Project: *.sqlproj'
inputs:
solution: '**\*.sqlproj'
platform: 'Any CPU'
configuration: Release
Pipeline регистрирует это сообщение об ошибке:
error MSB3644: The reference assemblies for .NETFramework,Version=v4.0 were not found.
To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework
version or retarget yourapplication. You can download .NET Framework Developer Packs
at https://aka.ms/msbuild/developerpacks [C:\a\10\s\blabla]
После публикации той же темы на GitHub мне предложили использовать DotNetCoreCLI@2
, и это действительно сработало:
- task: DotNetCoreCLI@2
displayName: 'Build Project: *.sqlproj'
inputs:
command: 'build'
projects: '**\*.sqlproj'
вместо MSBuild@1
(или VSBuild@1).
- task: MSBuild@1
displayName: 'Build Project: *.sqlproj'
inputs:
solution: '**\*.sqlproj'
platform: 'Any CPU'
configuration: Release
О подобных проблемах следует сообщать в Microsoft через GitHub github.com/microsoft/DacFx/issues