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