0

我正在尝试使用带有 msbuild 的 web 处理管道来使用 web deploy 部署数据库 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 部署 dbSqlPackage 提供程序 - enu

安装在我的盒子上。我尝试删除它(如关于此主题的另一篇文章中所建议)但没有运气

4

1 回答 1

1

MSDeploy v3 中的 dacpac 提供程序是dbDacFx. 此外,您的Source属性应该是Path,不需要包含在AdditionalProviderSettings.

顺便说一句,如果您使用的是 VS2012(或带有最新 Azure SDK 的 2010),您应该能够使用发布对话框包含 dacpac。

于 2012-10-13T02:09:58.563 回答