有没有一种简单的方法可以比较两个文件,如果它们不相同则会出错?

时间:2011-11-10 17:26:48

标签: msbuild continuous-integration dll

作为我们的持续集成构建的一部分,如果Visual Studio解决方案使用相同dll的两个不同版本,我希望构建失败。我们使用Jenkins for CI和MSBuild.exe来构建我们的产品。

我知道这可以通过C#代码完成,但我试图避免这种情况。我更喜欢使用内置于MSBuild或MSBuild社区任务中的内容或内置的命令行可执行文件(如FC.exe)。我查看了FC.exe,它输出的文字是

FC: no differences encountered

我想我可以将输出定向到一个文件,然后解析该文件,但这看起来好像很多。

有优雅的方法吗?

2 个答案:

答案 0 :(得分:5)

没关系......我刚刚在MSBuild中执行了FC.exe,我注意到当文件不匹配时它会返回错误代码1。问题解决了!

答案 1 :(得分:0)

您可以通过MSBuild调用powershell(我认为社区任务具有cmdlet执行任务)并利用Compare-Object cmdlet。 http://technet.microsoft.com/en-us/library/ee156812.aspx

Jenkins也有一个你可以使用的PowerShell模块。