2013-07-15 4 views
0

를 아무데도 찾을 수 있습니다. 제가하고 싶은 것은 저의 동료들이 Visual Studio를 위해 필요한 확장 기능을 설치하고 그대로 작동하도록하는 것을 피하면서 그 계약을 사용하는 것입니다.CONTRACT_FULL 정의하지만, 정의는 내가 현재 .NET 프레임 워크의 코드 계약을 찾고

Aber는 계약서와 함께 몇 가지 방법을 설정하고 CONTRACT_FULL 기호가 정의되었지만 다시 작성자가 호출되지 않은 메시지를 실행 응용 프로그램에서받습니다. 내 전체 프로젝트를 확인했는데이 기호는 어디에도 정의되어 있지 않습니다. 이 정의는 어디에서 오는 것이며 어떻게 제거합니까?

이 오류의 계약 라이터를 활성화하지만, 내가 말했듯이 라이터를 설치할 필요를 피하기 위해 같은 경우에 원인으로 사라집니다.

답변

1

메시지의 나머지 부분은 아마 당신이 Contract.Requires< TException >을 사용하고 있다고 주장한다.

설명서에 따르면 Contract.Requires<TException>을 사용할 때 런타임 검사를 사용하기 위해이 있습니다. 그 이유는 코드 실행이 사전 조건 실패 인 경우 Contract.Requires<T>이 예상 된 예외를 throw하는 것에 달려 있기 때문입니다. 한편

, Contract.Requires(Boolean)는 전제 조건을 정의하고 프로그램의 실행에는 영향을 미치지 않습니다. 사전 조건이 실패 할 때마다 성가신 주장 메시지가 표시됩니다. 이 경우 재기록이 필요 없습니다. 당신은 전체 런타임 계약 검사를 사용하지 않는 경우에도 오류가 발생으로

메시지는 약간 잘못된 것입니다.

이 문제를 해결하려면, 당신은 모든 시스템에 라이터를 설치하거나 사용 Contract.Requires (부울)로 전환해야합니다.

+0

그게 전부 야! 감사. – Nitram