Вы можете изменить файл целей MSBuild для Code Contracts, чтобы заставить его использовать sn.exe из SDK версии 4.0. Рассматриваемый файл целей обычно находится в C:\Program Files\Microsoft\Contracts\MsBuild\v4.0\Microsoft.CodeContracts.targets
.
Самой простой модификацией будет замена строки
<CodeContractsSnExe>"$(CodeContractsSdkPath)Bin\NETFX 4.0 Tools\sn.exe"</CodeContractsSnExe>
с указанием версии, указывающей точный путь к копии sn.exe, которую вы хотите запустить. e.g.:
<CodeContractsSnExe>"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\NETFX 4.0 Tools\sn.exe"</CodeContractsSnExe>
Если вам нужно поддерживать альтернативные версии, было бы лучше сохранить старую строку, но сделать присвоение условным, если значение пустое. Таким образом, вы можете указать переопределение только тогда, когда вам это нужно.