如何使用Visual Studio 2012和MSdeploy将PDB文件包含到Package ZIP文件中

时间:2012-10-30 00:37:51

标签: msdeploy pdb

我需要能够将PDB文件包含到我在Visual Studio中运行“发布”命令以创建MSDeploy包时创建的ZIP文件中。

我可以在文件夹中看到PDB文件,但它们没有进入ZIP文件

我需要设置一些配置设置吗?

是的我知道这不是标准做法!

2 个答案:

答案 0 :(得分:6)

您有两种选择。

简易解决方案

在“设置”选项卡上的“发布”对话框中,您可以将配置设置为“调试”并使用该配置进行发布。

稍微复杂一点的解决方案

如果要在发布模式下构建但仍包含PDB,则可以编辑发布配置文件。当您在VS发布对话框上创建发布配置文件时,我们在Properties \ PublishProfile(My Project \ PublishProfiles for VB)下为其创建一个文件。您可以添加特定的MSBuild元素来自定义这些元素。在您的情况下,行为由名为ExcludeGeneratedDebugSymbol的属性控制,如果您在Release中构建,则该属性设置为true。因此,只需在结束</Project>标记的正上方添加以下元素,即可在.pubxml文件中将该属性声明为false。

<PropertyGroup>
  <ExcludeGeneratedDebugSymbol>false</ExcludeGeneratedDebugSymbol>
</PropertyGroup>

您可以继续从发布对话框发布,它将保留您的修改。

答案 1 :(得分:0)

我在Web项目的项目文件中执行此操作

<ItemGroup>
  <_CustomFilesPdb Include="$(OutDir)\SEEK.*.pdb" Exclude="$(OutDir)\*Tests*.pdb" />
  <FilesForPackagingFromProject Include="%(_CustomFilesPdb.Identity)">
    <DestinationRelativePath>bin\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
  </FilesForPackagingFromProject>
</ItemGroup>