找不到dbSqlPackage提供程序

时间:2012-10-12 23:34:16

标签: .net msbuild msdeploy webdeploy

我正在尝试使用带有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

安装在我的盒子上。我尝试将其删除(正如另一篇关于此主题的帖子所示)但没有运气

1 个答案:

答案 0 :(得分:1)

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

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