我的项目团队成员需要在他的许多ASP.NET项目中添加源代码注释,以提供更好的文档。如果我们添加任何源代码注释,项目团队的一些成员建议我们进行彻底的回归测试,因为很可能会有一些源代码无意中被注释掉并导致程序行为发生变化。然后,我们还需要通过管理变更程序并重新部署到我们的生产服务器。
在我看来,我们应该能够添加源代码注释,重新编译源代码,并使用类似md5(或sha1)哈希(使用fciv之类的东西)来比较之前的并在DLL之后确认源代码注释没有影响编译版本。使用简单的控制台应用程序测试这个概念,我发现问题是如果DLL的版本递增,二进制文件的哈希值将会改变。如果我可以从二进制文件中删除清单,也许我可以对二进制文件进行苹果对比。
作为一项额外的挑战,这些ASP.NET应用程序使用ASP.NET网站编译模型,其中代码是动态编译的(大概是%SystemRoot%\ Microsoft.NET \ Framework \ version \ Temporary ASP.NET Files文件夹)第一次访问该站点而不是Web应用程序模型,其中所有项目代码都编译到bin文件夹中的单个程序集中。
有什么想法吗?
答案 0 :(得分:3)
有一个名为bitdiffer的工具可以比较装配并报告任何差异。作为集成测试的一部分,您可以针对新构建运行该工具,并将其与生产中的构建进行比较。这将确保只有代码更改的程序集才会被释放。
还有一个名为ndepends的工具,它具有用于比较程序集的api。这很酷!
答案 1 :(得分:1)