2012-11-12 5 views
0

내 ASP.NET MVC 2 (.NET 3.5) 프로젝트 중 일부는 SubSonic 2를 프로젝트의 데이터 계층에서 기본 데이터베이스 접근 자로 사용합니다. 이것은 정상적으로 작동하며 아무런 문제없이 데이터베이스 내의 모든 것을 액세스 할 수 있습니다. 그러나 최근에 저의 작업은 "제로 경고"정책을 시행하여 프로젝트에서 경고를 없애기 위해 모든 프로젝트를 진행했습니다 (가능한 경우).생성 된 클래스에서 SubSonic 생성 컴파일러 경고

문제의 프로젝트는 음속 경고 만 남기거나 없애기 만하지만, 생성 된 클래스 자체 내에서 발견되어 심각한 문제를 제거합니다. 다음과 같이 내가 점점 오전 경고는 다음과 같습니다 "

  • "...이 Object.Equals를 무시 (객체 O)하지만() ... Object.GetHashCode을 무시하지 않는다 "ActiveRecord.cs
  • 에 .. .Name '은 숨겨 졌을 경우 new 키워드를 사용합니다. ... "Struct.cs
  • "템플릿에서 여러 개의 템플릿 지시문을 찾을 수 있습니다. 첫 번째 매개 변수는 무시됩니다. 템플릿 지시문에 대한 여러 매개 변수는 "Settings"의 한 템플릿 지시문 내에서 지정되어야합니다.
  • "변환 컴파일 : 변수 'parameters'가 할당됩니다 SQLServer.ttinclude에서이 값은 사용되지 않습니다.
  • "C# 2.0 및 C# 3.5 컴파일러는 더 이상 지원되지 않습니다. 템플릿은 항상 'v3.5'대신에 버전 4 컴파일러로 컴파일됩니다. "Context.tt에서

나는이 경고에 대한 해결책을 찾기 위해 모든 곳을 시도했지만 지금까지 행운이 없었습니다. 다른 사람이 같은 경고를 발생 그렇다면, 당신은 어떻게이를 해결 했습니까? 감사합니다.

+0

정확한 버전을 사용하고 있습니까? 어쩌면 최신 2.x 버전을 사용해 보시겠습니까? VS2012/2010 3.5/4.0 경고가 표시되지 않습니다. 버전 3을 사용하고 있지 않습니까? 메모리에서만 버전 3이 tt 파일을 사용했습니다. –

답변

1

당신이 좋아하지 않을 수 있습니다.

한번에 모든 문제를 해결할 수있는 유일한 옵션은을 다운로드하는 것입니다 음속 소스, templates에 필요한 변경을하고, 다시 다운로드하고, 재고 다운로드 대신 자신의 바이너리를 사용하십시오.

장기적으로 나는 SubSonic을 완전히 버리는 것이 좋습니다. 그것은 고통의 가치가 없습니다.

+1

다른 한편으로, 나는 그것이 그 강점 중 하나임을 발견했습니다. 코드는 이해하기 쉽고 템플릿은 사용자 정의하기 쉽습니다 (작은 단계를 변경하고 여전히 작동하는지 확인하는 한). –

+0

Jon에게 도움을 주셔서 감사합니다. 실제로 Entity Framework를 사용하여 새 프로젝트에서 SubSonic 사용을 중단했지만 이전 프로젝트의 경고를 해결할 수 있기를 기대했습니다. 결과적으로, 나는 지금 당장 그것에 대해 걱정하지 말라고 들었지만, 나중에 참고할 수 있도록 템플릿 위치를 기록 할 것입니다. 감사합니다. – Jonk268

관련 문제