Планируется .NET Core
поддержка DacFx
, но пока нет, и вы не можете сделать это таким образом в .NET Core
. Теперь, если добавить NuGet
пакет Microsoft.SqlServer.DacFx.x64
, восстановление выведет вас:
Пакет 'Microsoft.SqlServer.DacFx.x64 140.3881.1' был восстановлен с помощью
'.NETFramework, Version = v4.6.1' вместо целевой структуры проекта
».NETCoreApp, Version = v2.0'
Некоторое время вы можете использовать утилиту командной строки SqlPackage.exe
SqlPackage.exe
/Action:Publish
/SourceFile:C:/file.dacpac
/TargetConnectionString:[Connection string]
И вы можете запустить его программно:
var process = new System.Diagnostics.Process();
var startInfo = new System.Diagnostics.ProcessStartInfo
{
WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden,
FileName = @"C:\Program Files (x86)\Microsoft SQL Server\<Version>\DAC\bin\SqlPackage.exe",
Arguments = "/Action:Publish /SourceFile:C:/file.dacpac /TargetConnectionString:[Connection string]"
};
process.StartInfo = startInfo;
process.Start();