Pergunta

De acordo com a esse recurso matriz , Visual Studio 2010 premium (RC) inclui "análise estática de código".

No entanto, adicionando chamadas para Contract.Requires no início dos meus métodos não parece ter qualquer efeito. Eu não entendo exceções de tempo de execução se o contrato for violada. Eu não entendo avisos do compilador se um contrato não pode ser comprovada. Eu também não consigo encontrar um guia "Contratos de código" nas configurações do projeto.

Am I faltando alguma coisa óbvia ou é esse recurso só está disponível na edição Ultimate?

Foi útil?

Solução

Há, de fato, parece haver alguma confusão sobre se ou não os contratos de código é incluído no quadro que vem com beta 2 do VS2010, ou até mesmo na própria VS2010. A Código dos Contratos fórum (e expecially este post ) tem várias menções de isso sem respostas até o momento.


Eu não acho que contratos de código cai sob o título de análise estática de código. Acho análise estática de código refere-se a outras ferramentas de análise de código como FxCop.

Eu tentei usar Contract.Requires em VS2010 beta 2 edição final, mas eu obter o mesmo comportamento como você. Se você olhar nas propriedades do projeto na guia Análise de código, você pode habilitar a análise de código, mas isso não se relaciona com contratos de código.

De acordo com o comentário por Melitta (a partir da Base Class Libraries Team) sobre o artigo de conexão Faça estática contrato de verificação de dados disponível no Professional Edition :

... mas a restrição à ferramenta de análise estática significa este próximo lançamento. Ele mantém a história de análise de código consistente, em que as ferramentas de análise estática requerem VSTS.

Isto sugere que você (se) tem que ter a versão do sistema da equipe para obter a versão de tempo de compilação de contratos de código.

Outras dicas

Para obter análise estática no Beta 2, você tem que baixar e instalar os Contratos bits de código (1.2.21023.14 ou superior) de MSDN DevLabs . Em seguida, sob as propriedades do projeto, haverá agora uma guia Contratos código ... a partir daqui você pode ligar análise estática ...

O comportamento que você está vendo é porque o Contratos Código API está em mscorlib montagem, que permite que afirma ao trabalho, mas nada mais.

Estou assumindo que este não será necessário por RTM.

Você precisa ativar os contratos de código de tempo de execução verificação nas propriedades do projeto. Se esse painel de configurações não existe, então você precisa instalar o Contratos código de download da Microsoft (apesar do fato de que os Contract.Requires existe no quadro).

Apenas a verificação de tempo de execução está disponível nas edições Professional.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top