Contratos de código para o .NET 3.5 atrapalham o depurador do VS10

Recentemente, migrei muitos testes de pré-condição manual e lançamento de exceção com contratos de código. Em vez de atualizar para o .NET 4, eu tenho usado oMicrosoft.Contracts.dll assembly para que eu possa aderir ao .NET 3.5 um pouco mais (esta é uma biblioteca usada pelos assemblies .NET 3.5 e .NET 4). Eu configurei o reescritor de contratos no Visual Studio 2010 e os contratos funcionam muito bem.

No entanto, desde que fiz essa alteração, notei que o depurador age de maneira engraçada nos métodos com contratos, especialmente nas classes com um ContractInvariantMethod. O cursor de execução nem sempre corresponde à linha destacada, alguns pontos de interrupção não são atingidos e eu tive um método no qual o depurador não sabia informar os nomes das variáveis locais e mostraria coisas comoCS assembly para que eu possa aderir ao .NET 3.5 um pouco mais (esta é uma biblioteca usada pelos assemblies .NET 3.5 e .NET 4). Eu configurei o reescritor de contratos no Visual Studio 2010 e os contratos funcionam muito bem.0000. Isso está nas versões de depuração.

Existem problemas conhecidos sobre o uso dos contratos de código noMicrosoft.Contracts.dll no .NET 3.5 através do VS10? Problemas semelhantes surgem com os contratos de código no .NET 4?

[Editar] Esta pergunta me levou a criar um bug no Microsoft Connect:https://connect.microsoft.com/VisualStudio/feedback/details/573983/code-contract-rewriting-messes-up-local-variable-names-in-iterator-methods- while-debugging

questionAnswers(2)

yourAnswerToTheQuestion