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

如何使用Visual Studio 2012和MSdeploy将PDB文件包含到包ZIP文件中,msdeploy,pdb,Msdeploy,Pdb,我需要能够将PDB文件包含到ZIP文件中,该文件是在VisualStudio中运行“Publish”命令创建MSDeploy包时创建的 我可以在文件夹中看到PDB文件,但它们没有进入ZIP文件 是否需要设置一些配置设置 是的,我知道这不是标准做法 您有两个选择 容易解决 在“设置”选项卡上的“发布”对话框中,可以使用该选项将配置设置为调试和发布 略为复杂的解决方案 如果要在发布模式下生成,但仍包含PDB,则可以编辑发布配置文件。在VS publish对话框中创建发布配置文件时,我们会在Prope

我需要能够将PDB文件包含到ZIP文件中,该文件是在VisualStudio中运行“Publish”命令创建MSDeploy包时创建的

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

是否需要设置一些配置设置

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

您有两个选择

容易解决 在“设置”选项卡上的“发布”对话框中,可以使用该选项将配置设置为调试和发布

略为复杂的解决方案 如果要在发布模式下生成,但仍包含PDB,则可以编辑发布配置文件。在VS publish对话框中创建发布配置文件时,我们会在Properties\PublishProfile(My Project\PublishProfiles for VB)下为其创建一个a文件。您可以添加特定的MSBuild元素来自定义这些元素。在您的情况下,行为由名为ExcludeGeneratedDebugSymbol的属性控制,如果您在版本中构建,则该属性设置为
true
。因此,只需在.pubxml文件中将属性声明为false,方法是在关闭标记的正上方添加下面的元素

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

假的

您可以从“发布”对话框继续发布,它将保留您的编辑。

我是在web项目的项目文件中这样做的

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

bin\%(递归目录)%(文件名)%(扩展名)

答案是否解决了您的问题?如果是,你能把这个问题标记为已回答吗?对不起,我忘了这个问题。答案没有解决问题,请参见下文。如果不使用发布配置文件,这里还有项目级别设置。