Tag: diff

如何使用c#显示单词差异?

我想展示两个文本块之间的差异。 我不想比较文本行或单个字符,而只想比较由指定字符分隔的单词(例如’\ n’,”,’\ t’)。 我的主要理由是,我将要比较的文本块通常没有很多换行符,字母比较可能很难遵循。 我在C#中遇到了以下O(ND)逻辑,用于比较行和字符,但我对如何修改它来比较单词感到很茫然。 另外,我想跟踪单词之间的分隔符,并确保它们包含在差异中。 因此,如果一个空间被一个硬回来所取代,我希望它能成为一个差异。 我正在使用Asp.Net(c#)显示整个文本块,包括已删除的原始文本和添加的新文本(两者都将突出显示以显示它们已被删除/添加)。 可以理解与这些技术一起使用的解决方案。 任何关于如何实现这一点的建议表示赞赏。

我可以在构建.net程序集时指定模块版本ID(MVID)吗?

我们有一些共享程序集,每晚都会自动构建。 如果没有对源进行任何更改,我希望程序集二进制文件与以前的版本完全相同。 但是,程序集之间似乎存在细微差别。 我已经做了一些努力来确定两个版本之间的区别。 我使用ildasm生成il版本,并比较生成的文本版本。 唯一的区别(在IL中)是模块中的MVID(随机guid)。 一些谷歌搜索告诉我模块版本ID由编译器生成,因此可以确定构建源,即使其他所有内容都相同。 这个MVID在相同代码的构建之间创建了一个人工差异,并且对所得到的程序集进行了人工检查。 是否可以将MVID提供给C#编译器?

在C#中比较两个XML文件并使用XMLDiff生成第三个XML文件

我正在尝试编写一个简单的算法来读取具有完全相同的节点和结构的两个XML文件,但不一定是子节点内的相同数据而不是相同的顺序。 我如何使用Microsoft的XML Diff .DLL创建一个简单的实现来创建第三个临时XML,即两个第一个之间的差异? MSDN上的XML Diff: XML差异和补丁工具 XML Diff和Patch GUI工具 示例要比较的两个不同XML文件的XML代码: Sidney Crosby PIT C 39 32 33 20 29 Sidney Crosby PIT C 42 35 34 22 30 想要的结果(两者之间的差异) Sidney Crosby PIT C 3 3 1 2 1 在这种情况下,我可能会使用XSLT将生成的XML“差异”文件转换为已排序的HTML文件,但我还没有。 我想要做的就是在第三个XML文件中显示每个节点的每个数值的差异,从“GP”子节点开始。 到目前为止C#代码: private void CompareXml(string file1, string file2) { XmlReader reader1 = XmlReader.Create(new StringReader(file1)); XmlReader […]