Msbuild msdeploy未运行dbDacFx提供程序

Msbuild msdeploy未运行dbDacFx提供程序,msbuild,msdeploy,webdeploy,Msbuild,Msdeploy,Webdeploy,我正在尝试将我的dacpac文件嵌入包中,并在部署时运行dbDacFx提供程序 使用下列 VisualStudio2010与Azure Publixing工具和SSDT SQl Server 2008 R2及其应用程序 我的项目中的wpp.targets文件 文件看起来像这样 <AfterAddIisAndContentDeclareParametersItems> $(AfterAddIisAndContentDeclareParametersItems);

我正在尝试将我的dacpac文件嵌入包中,并在部署时运行dbDacFx提供程序

使用下列 VisualStudio2010与Azure Publixing工具和SSDT SQl Server 2008 R2及其应用程序 我的项目中的wpp.targets文件

文件看起来像这样

 <AfterAddIisAndContentDeclareParametersItems>
      $(AfterAddIisAndContentDeclareParametersItems);
      AddAdditionalAclsDeclareParameterItems;
      DeployUIConfigDatabase;
    </AfterAddIisAndContentDeclareParametersItems>
<Target Name="DeployUIConfigDatabase">
    <ItemGroup>
      <MsDeploySourceManifest Include="dbDacFx">
        <Description>Add dbDacFx $(_MSDeployDirPath_FullPath)\Database\%(CopyAdditionalFilesToDeploy.Identity) to Folder</Description>
        <Path>$(_MSDeployDirPath_FullPath)\Database\%(CopyAdditionalFilesToDeploy.Identity)</Path>
        <Dest>{UIConfigContext-Web.config Connection String</Dest>
        <IncludeTransactionalScripts>True</IncludeTransactionalScripts>
        <IncludeData>True</IncludeData>
        <AdditionalProviderSettings>IncludeData;IncludeTransactionalScripts</AdditionalProviderSettings>
      </MsDeploySourceManifest>
    </ItemGroup>
  </Target>

$(添加和内容声明参数后);
添加额外的ACLSDclareParameterItems;
部署配置数据库;
将dbDacFx$(\u MSDeployDirPath\u FullPath)\Database\%(CopyAdditionalFilesToDeploy.Identity)添加到文件夹
$(\u MSDeployDirPath\u FullPath)\Database\%(CopyAdditionalFilesToDeploy.Identity)
{UIConfigContext-Web.config连接字符串
真的
真的
IncludeData;IncludeTransactionScript
我可以看到.zip包包含dacpac文件,但是当我部署它时,提供程序从未被调用。。。
非常感谢!

对于任何面临类似问题的人,您似乎还必须声明msdeploy在部署阶段使用的参数。将以下内容添加到我的wpp文件中会生成正确的参数文件,现在一切正常

<Target Name="AddAdditionalDeployUIConfigDatabase">
    <ItemGroup Condition="'@(CopyAdditionalFilesToDeploy)' != ''">
      <MsDeployDeclareParameters Include="Add dbDacFx Provider Parameter %(CopyAdditionalFilesToDeploy.Identity)">
        <Kind>ProviderPath</Kind>
        <Scope>dbDacFx</Scope>
        <Description>Run dbDacFx provider on %(CopyAdditionalFilesToDeploy.Identity)</Description>
        <DefaultValue>{UIConfigContext-Web.config Connection String}</DefaultValue>
        <DestinationContentPath>$(_MsDeployParameterNameForContentPath)/@(CopyAdditionalFilesToDeploy)</DestinationContentPath>
        <Tags>Hidden</Tags>
        <ExcludeFromSetParameter>True</ExcludeFromSetParameter>
      </MsDeployDeclareParameters>
    </ItemGroup> 

提供者路径
dbDacFx
在%CopyAdditionalFilesToDeploy.Identity上运行dbDacFx提供程序
{UIConfigContext-Web.config连接字符串}
$(\u MsDeployParameterNameForContentPath)/@(CopyAdditionalFilesToDeploy)
隐藏的
真的

dbDacFx提供程序是否显示在包根目录的清单文件中?sourcemanifestfile.xml是否有任何原因您没有通过“发布”对话框包含dacpac?我正在发布到包中,即使在visual studio中使用ui工具,我也无法运行dbDacFx