문제

에 따르면 이 기능 매트릭스, Visual Studio 2010 Premium (RC)에는 "정적 코드 분석"이 포함되어 있습니다.

그러나 전화를 추가합니다 Contract.Requires 내 방법이 시작될 때 아무런 영향을 미치지 않는 것 같습니다. 계약이 위반되면 런타임 예외를 얻지 못합니다. 계약을 입증 할 수없는 경우 컴파일러 경고를받지 못합니다. 또한 프로젝트 설정에서 "코드 계약"탭을 찾을 수 없습니다.

명백한 것을 놓치고 있습니까? 아니면이 기능이 Ultimate Edition에서만 사용할 수 있습니까?

도움이 되었습니까?

해결책

실제로 코드 계약이 VS2010의 베타 2와 함께 제공되는 프레임 워크 또는 VS2010 자체에 포함 된 프레임 워크에 포함되어 있는지에 대한 혼란이있는 것 같습니다. 그만큼 코드 계약 포럼 (그리고별로 이것 Post)는 아직 답변이없는 몇 가지 언급이 있습니다.


코드 계약이 정적 코드 분석의 제목에 속한다고 생각하지 않습니다. 정적 코드 분석은 FXCOP와 같은 다른 코드 분석 도구를 말합니다.

나는 사용을 시도했다 Contract.Requires VS2010에서 Beta 2 Ultimate Edition에서, 나는 당신과 같은 동작을 얻습니다. 코드 분석 탭에서 프로젝트 속성을 살펴보면 코드 분석을 활성화 할 수 있지만 코드 계약과 관련이 없습니다.

Connect 기사에서 Melitta (기본 클래스 라이브러리 팀)의 의견에 따르면 데이터 계약 정적 확인을 전문 판에서 사용할 수 있도록합니다:

... 그러나 정적 분석 도구의 제한은이 다가오는 릴리스를 나타냅니다. 정적 분석 도구에 VST가 필요하다는 점에서 코드 분석 스토리를 일관성있게 유지합니다.

이는 컴파일 타임 버전의 코드 계약을 얻으려면 팀 시스템 버전이 있어야 함을 나타냅니다.

다른 팁

베타 2에서 정적 분석을 얻으려면 코드 계약 비트 (1.2.21023.14 이상)를 다운로드하여 설치해야합니다. MSDN DEVLABS. 그런 다음 프로젝트 속성 아래에 코드 계약 탭이 있습니다 ... 여기에서 정적 분석을 켤 수 있습니다 ...

당신이보고있는 행동은 Code Contracts API가 mscorlib 어셈블리에 있기 때문에, 이로 인해 다른 것은 없지만 다른 것은 없습니다.

나는 이것이 RTM에 필요하지 않다고 가정합니다.

프로젝트 속성에서 코드 계약 런타임 확인을 켜야합니다. 해당 설정 창이 존재하지 않으면 Microsoft에서 코드 계약 다운로드를 설치해야합니다 (계약이 프레임 워크에 포함되어 있음에도 불구하고).

런타임 확인 만 전문 판에서 사용할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top