(나는 CC에 대한 전문가가 아니에요,주의,하지만 난에 유래에 하나를 재생하십시오. 이러한 진술 중 일부는 약간 잘못 될 수 있습니다)
Code Contracts는 어셈블리의 방법 단지 수집하지 않습니다 당신 참조 및 호출을 수행하여 유효성 검증을 수행합니다. 코드 계약은 유형 및 도구 모음으로 은 컴파일 후 일리노이를으로 다시 작성하여 정적 및 런타임 검사를 수행합니다. 이 rewriter here에 대한 자세한 내용을 볼 수 있습니다.
이들은 프레임 워크 나 Visual Studio의 공식적인 부분이 아닙니다. 작동하려면 download and install the tooling for visual studio해야합니다.
편집 가능한 ASP.NET 웹 사이트는 첫 번째로드시 aspx/cshtml 파일의 편집을 수행합니다. 코드 계약을 통해 컴파일 된 어셈블리를 다시 작성해야하므로이 작업은 ASP.NET 컴파일 단계에 포함되어야합니다. 나는 그 방법에 대해 확신하지 못한다. (나는 그 정보들을위한 포럼을 방문 할 것이다.) 그러나 그것은 마술에 의해 분명히 일어나지 않을 것이다.
이 오류는 컴파일이 VS 또는 ASP.NET에서 올바르게 수행되지 않는 것으로 나타납니다. 어느 쪽이든, 그것을 고치기위한 유일한 방법은 CC를 모두 버리거나 대화가 말하는 것을하는 것입니다.
Daniel Cazzulino에는 코드 계약과 유사한 많은 헬퍼 메소드가 포함 된 누젠을 통해 사용할 수있는 CC와 유사한 코드가 있습니다. 같은 것들은 Assert.NotNull(someArgument, "someArgument");
. 그의 계정을 검색하면 찾을 수 있습니다.
코드 계약서에 몇 가지 사항을 추가 했습니까? – Will
예, 그렇게했습니다. Contract.Requires (item! = null, "item"); 질문을하는 것이 이것이 문제라고 생각하게 만듭니다. 쉽게 해결할 수 있습니까 (그러한 모든 코드를 주석 처리하는 것 외에는)? –
처음에는 암호화 된 것처럼 보이는 오류 메시지가 꽤 평범한 것 같지만 코드 계약을 사용하면이 모든 rigamarole이 필요합니다. –