에서 나는 간단한 인터페이스를 가지고 : 클래스 VisitorsLogController이 인터페이스를 구현클래스 테스트/콘솔에 대한 컴파일하지만 Asp.net 응용 프로그램
public interface IVisitorsLogController
{
List<VisitorsLog> GetVisitorsLog();
int GetUniqueSubscribersCount();
int GetVisitorsCount();
string GetVisitorsSummary();
}
합니다.
콘솔 응용 프로그램이나 TestFixture에서 콘솔/테스트 픽스처가 완벽하게 컴파일됩니다.
오류 1 ':
그러나
private IVisitorsLogController ctl; protected int GetUniqueMembersCount() { ctl = new VisitorsLogController(); return ctl.GetUniqueSubscribersCount(); }
컴파일러 뒤에 코드에서이 코드로 동일한 솔루션에 Asp.Net 웹 사이트 (안 응용 프로그램)에서이 예외를 throw WebSiteBusinessRules.Interfaces.IVisitorsLogController ' 에는 'GetUniqueSubscribersCount '에 대한 정의가없고 확장 메서드 'GetUniqueSubscribersCount '수락 유형의 첫 번째 인수 'WebSiteBusinessRules.Interfaces.IVisitorsLogController' 볼 수 있습니다 (당신은 지시문 또는 어셈블리 참조를 사용하여 누락?) 같은 파일이 코드 아직
:
protected static int GetVisitorsCount()
{
return VisitorsLogController.Instance.GetVisitorsCount(DateTime.Today);
}
컴파일러는이 줄을 불평하지 않고 컴파일합니다. 실제로 새로운 인터페이스를 추가하면 컴파일러는 asp.net 페이지를 컴파일하려고 할 때 불평을합니다.
지시어 또는 어셈블리 참조를 사용하여 누락 될 수 없습니다. 그렇지 않으면 두 방법 모두 실패합니다.
이것은 나를 미치게합니다!
아무 생각나요?
감사합니다,
제레미
John - 예, 잘 컴파일됩니다. 그러나 ctl.GetUniqueMembersCount()를 넣 자마자 컴파일이 실패합니다. ctl.and Ctl + Space를 입력하면 목록에 GetUniqueMembersCount가 표시됩니다. 스크린 샷을 업로드 할 수 없습니다. –
Intellisense의 제안을 수락하면 빌드가 실패합니까? Yikes. 가능한 한 Visual Studio를 다시 시작하고 빌드를 정리하는 것이 좋습니다. 뭔가 이상한 것 같아. –