如何在引用程序集版本更改时中断构建?

时间:2012-12-06 09:43:12

标签: c# visual-studio-2010 compiler-construction msbuild sitecore

我有一些C#修复了已在新版Sitecore CMS中修复过的问题。

我希望在升级到新版本时删除修复程序,但这可能是将来的某个时间,并且很容易忘记此修复程序的存在。

当引用的程序集版本发生变化(即高于v6.5.x)时,是否有可能破坏构建或引起对这部分代码的注意?围绕#error指令的条件可能有效,但我不知道它是否或如何引用引用的汇编版本?

请注意,我希望这可以在构建时发生,而不是运行时,并且特别引起对相关代码的注意,以便可以对其进行检查。

3 个答案:

答案 0 :(得分:0)

当然要做到这一点,您需要做的就是确保您的项目将“SpecificVersion”标志设置为该参考的真实值?

答案 1 :(得分:0)

在Visual Studio中使用post-build(或pre-build I thinkose)事件怎么样?您可以运行一个powershell脚本或一些可以检查程序集版本并提醒您程序集版本已更改的内容。

有点难看,但我认为它会起作用。

有关构建活动的信息...... http://msdn.microsoft.com/en-us/library/ke5z92ks.aspx

答案 2 :(得分:0)

虽然以下解决方案不会在构建时运行,但您可以在运行状况检查中使用单元测试(假设您正在使用单元测试进行CI)。

您编写单元测试来测试该段代码。确保单元测试断言Sitecore DLL引用的版本。单元测试运行时,您的运行状况检查构建将失败。

您甚至可以通过此方式办理登机手续,以确保没有单位测试通过,任何人都无法办理登机手续。