有没有一种方法合并与ilmerge pdb文件?(Is there a way to merge p

2019-07-18 09:26发布

由于种种原因,我们使用ilmerge把我们所有的应用程序组件合并成一个文件,这样用户需要处理只有一个文件。 不幸的是,似乎是没有办法的.pdb文件与组件合并。 任何人都知道一个办法来解决呢?

Answer 1:

好吧,我想通了这一个了,但过了好一会儿。

这篇文章有/ NDEBUG发生一样。

从附带ILMerge(ILMerge.doc,重点煤矿)的发行说明:

2.8 debuginfo软公共BOOL debuginfo软{获得; 组; }当它被设置为真,ILMerge创建用于输出组件的.pdb文件和合并到它找到的输入组件的任何.pdb文件。 如果你不想在输出组件创建.pdb文件,无论此属性设置为false,否则指定在命令行中/ NDEBUG选项。 默认值:true命令行选项:/ NDEBUG

该解决方案是专门为具有该标志在命令行上。 ILMerge将默认合并pdb文件。 确保所有源组件的PDB文件都在同一目录下,沿侧其相关的DLL,使ILMerge可以找到它们。 (我们使用的项目引用,并有一个ILMerge项目,该项目利用了这项要求。)

这里是我的ILMerge的csproj文件中的相关部分。

 <Target Name="AfterBuild">
    <CreateItem Include="@(ReferencePath)" Condition="'%(CopyLocal)'=='true'">
      <Output TaskParameter="Include" ItemName="IlmergeAssemblies" />
    </CreateItem>
    <Exec Command="&quot;..\..\Libraries\Ilmerge.exe&quot; /copyattrs /allowMultiple /out:&quot;@(MainAssembly)&quot; &quot;@(IntermediateAssembly)&quot; @(IlmergeAssemblies->'&quot;%(FullPath)&quot;', ' ')" />
    <Delete Files="@(ReferenceCopyLocalPaths->'$(OutDir)%(DestinationSubDirectory)%(Filename)%(Extension)')" />
  </Target>

为了完整起见,我使用的是最新版本的ilmerge.exe:版本2.10.219.0,与2010/2/19 9:49的最后修改日期



文章来源: Is there a way to merge pdb files with ilmerge?
标签: c# .net ilmerge