我正在尝试使用带有msbuild的Web处理管道来使用Web部署部署数据库dacpac。我在项目的.wpp.targets文件中有以下代码。
<Target Name ="DeployUIConfigDatabase" AfterTargets="AddIisSettingAndFileContentsToSourceManifest" >
<ItemGroup>
<MsDeploySourceManifest Include="dbSqlPackage">
<Source>$(_MSDeployDirPath_FullPath)\Database\Advent.PMW.UIConfig.Database.dacpac</Source>
<Destination>{UIConfigContext-Web.config Connection String</Destination>
<Action>Publish</Action>
<AdditionalProviderSettings>Source;Destination;Action</AdditionalProviderSettings>
</MsDeploySourceManifest>
</ItemGroup>
</Target>
但是当我尝试构建软件包时,我收到以下错误
错误:Web部署任务失败。 (找不到提供商 'dbSqlPackage'。请确认您已输入提供商名称 正确。)包失败。
我尝试从命令行使用dbSqlPackage提供程序,但是我得到了同样的错误。我在Windows 7机器上安装了MSDeploy 3.0。 我可以看到
Microsoft Web Deploy dbSqlPackage Provider - enu
安装在我的盒子上。我尝试将其删除(正如另一篇关于此主题的帖子所示)但没有运气
答案 0 :(得分:1)
MSDeploy v3中的dacpac提供程序为dbDacFx
。此外,您的Source
属性应为Path
,不需要包含在AdditionalProviderSettings
中。
顺便说一句,如果您使用的是VS2012(或2010使用最新的Azure SDK),您应该可以使用发布对话框包含dacpac。