每当我开始一个新的软件时,我必须进入配置并关闭pdb文件生成和Visual Studio发布版本的托管过程。有没有什么办法可以告诉Visual Studio(特别是2008年),我希望在剩下的时间内为所有项目做到这一点?如何关闭所有发布版本的pdb生成和vshost
回答
经过一番挖掘,看起来C#的项目文件存储在\program files\microsoft visual studio 9.0\common7\ide\projecttemplatescache\csharp\windows\1033
中。通过将<UseVSHostingProcess>false</UseVSHostingProcess>
添加到相关模板的正确部分(有调试和发布配置的单独部分),可以关闭所有类型的所有未来项目的托管过程。
你应该能够处理PDB问题以类似的方式,但正如我所说,我不建议打开这些了,所以我会离开它作为一个练习:)
这适用于VS2008 ,但我的猜测是其他版本也有类似的方案。实际上,VS2010使用相同的方法,但显然目录中的版本号是10.0而不是9.0。
为什么不添加一个后期构建步骤,删除这些你不想要的文件。嗯,这又是一个步骤,不是你想要的:-(
如何编写一个小帮手应用程序,它执行FindFirstFile和FindNextFile循环来查找你的发布目录中的PDB和shost文件,当它发现它们时,它会删除或者更好地将它们移动到归档位置 - 这可以将它们从发布包装问题中移除,但仍然保留这些文件以防需要它们进行错误分析。
因为它的助手应用程序可以运行它曾经作为你的预发布的一部分释放人员。
我们使用这种技术处理很多事情:
- 确保DLL是最新的(基本上为整个构建树的智能更新)
- 清洁VC建立不是“批构建”可以(去掉一些那些可能会崩溃Visual Studio中的文件)
- 存档更好某些特定的方式(类似于我建议你)
- 等
我与布莱恩 - 你应该保留这些文件。如果您需要调试任何错误或失败,您将需要这些文件。
我同意 - 不要压制它们或删除PDB - 只要将它们从部署包中删除并将它们与您的构建一起存档即可:http://www.wintellect.com/CS/blogs/jrobbins/archive/2009 /05/11/pdb-files-what-every-developer-must-know.aspx – 2010-03-16 13:04:58
在VS 2010中,你会发现一个项目的属性来控制.PDB代在项目属性 - >生成 - >高级 - >调试信息
将其设置为“无”,以抑制.PDB产生。
虽然这是按照每个项目的基础。当时我想永远为所有项目做一次这样的事情,而不是在每个项目建立和改变时都要进入这个项目。 – 2013-04-10 11:52:17
- 1. 版本生成.pdb文件,为什么?
- 2. 如何清除发布中的PDB字符串VC++版本
- 3. VS10从调试版本生成发布版本
- 4. 生成补丁WIX - 版本3关闭版本1或版本2?
- 5. 使用.pdb文件发布版本的性能损失?
- 6. 如何在发布版本
- 7. 如何在发布模式下生成.net托管项目的PDB?
- 8. 生成库版本和内部版本
- 9. ASP.net网站发布版本包括pdb文件。我如何摆脱它们?
- 10. 如何生成所有约束脚本
- 11. TinyIoC和发布版本
- 12. 的Javascript关闭和DOM生成器
- 13. 如何密封/关闭Subversion版本库
- 14. Qt调试版本和Qt发布版本有什么区别?
- 15. 如何在MVC中发布JsonResponse成功后关闭对话框
- 16. 如何当关闭事件发生时
- 17. 如何关闭MDIParentFrame中的所有MDIChildFrames?
- 18. 如何关闭所有睡觉的“goroutines”?
- 19. 不生成发布版本,而proguard启用
- 20. VB.NET在发布版本中生成属性
- 21. 如何在MonoDevelop中构建发布版本时生成mdb文件?
- 22. 关闭Realm的所有本地实例
- 23. 自动生成关于对话版本
- 24. Android:如何关闭文本视图和布局的抗锯齿
- 25. 如何在MS发布管理2013版本中恢复发布版本?
- 26. 发布或发布版本为Node.js的
- 27. 的Cufón差异和发布版本
- 28. 带有“发布版本”的OpenCover
- 29. 所有版本ruby的持续集成?
- 30. 如何获取发布版本?
为什么要关闭发布版本的PDB?请参阅http://stackoverflow.com/questions/2371032 – 2010-03-16 11:27:23
我的工作主要是内部软件,我们没有自动构建(还),所以它只是另一个文件,在将构建传递给推出的人之前发布/取消选择该软件。我只是试图为他们和我做一些尽可能干净和容易的事情。 – 2010-03-16 11:31:16
但是不提供PDB会使调试更加困难。 – 2010-03-16 11:37:24