如何使用Visual Studio 2012和MSDeploy将PDB文件包含在软件包zip文件中



我需要能够将PDB文件包括在zip文件中,这些zip文件在我在Visual Studio中运行" Publish"命令以创建MSDEPLOY软件包时会创建。

我可以在文件夹中看到PDB文件,但它们不会将其放入zip文件

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

是的,我知道这不是标准练习!

您有两个选项。

简单解决方案

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

涉及的解决方案

如果要在发布模式下构建,但仍然包括PDB,则可以编辑发布配置文件。当您在" VS Publish对话框"上创建一个发布配置文件时,我们将在properties PublishProfile(My Project forverprofiles for VB)创建一个文件。您可以添加特定的MSBUILD元素来自定义这些元素。在您的情况下,该行为由名为DubludeGeneratedDebugsymbol的属性控制,如果您在释放中构建,则将其设置为true。因此,只需在您的.pubxml文件中声明该属性为false,通过直接在关闭</Project>标签上方添加下面的元素。

<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>

最新更新