2012-05-27 2 views
0

나는 일반적으로 인스턴스화 가능한 클래스의 팩토리 메소드를가집니다. Intellisense는 그것이 유효하다는 것을 보여줍니다 (즉, "엔터티"라고 입력하면 표시됨). 그리고 빌드하기 전에 적절한 툴팁을 보여줍니다. 그러나 빌드 할 때 다음 오류가 발생합니다.메소드가 명확하게 정의되어 있지만 VS가 불만을 제기 함

'EvergreenEngine.Entity' does not contain a definition for 'Load'

여기서 무슨 일이 일어나고 있습니까? 이것은 내 수업입니다. 메소드가 실제로 현재 아무 것도하지 않는다는 것을 무시하십시오.

// Represents an object in the game world 
public class Entity 
{ 
    // Snip other methods and stuff 

    // Loads an entity from an XML file 
    public static Entity Load(string filename) // Apparently undefined 
    { 
     Entity newEntity = new Entity(); 

     XmlTextReader reader = new XmlTextReader(filename); 
     while(reader.Read()) 
     { 
      Logger.Log(reader.Name); 
     } 

     return newEntity; 
    } 
} 

분명히 그것을 해결, 나는 (I은 64 비트 머신에있어) 86에 컴파일했고 VS 그렇게하지 않았다. 매우 이상합니다.

+0

이 클래스는 어떻게 참조됩니까? 동일한 솔루션 내에서 또는 이전에 빌드 한 라이브러리에서 별도의 프로젝트에 있습니까? –

+0

그것은 솔루션 내에서 별도의 프로젝트 (클래스 라이브러리)에 있습니다. 모든 것은 클래스 내의 정적 메소드를 제외하고 작동합니다. – jmegaffin

+0

우리 솔루션의 특정 프로젝트를 수시로 수행했습니다. IDE는 어떻게 든 참조를 연결합니다. 우리를위한 솔루션은 프로젝트 참조를 제거하고 체크인하고, 솔루션을 정리하고, 성공적으로 빌드하지 않은 다음 프로젝트 참조를 다시 추가하는 것입니다. –

답변

2

분명히, 나는 x86 (나는 64 비트 머신에있다.)에 컴파일했고, VS는 그것을 좋아하지 않았다. 매우 이상합니다.

혼합 플랫폼으로 다시 설정할 때 작동했습니다.

+0

은 클래스 라이브러리 였고이를 사용하는 프로젝트는 다른 플랫폼으로 설정되었습니다 (그렇지 않은 경우 왜 그런지 궁금합니다) – Manatherin

+0

네, 그게 틀림 없습니다. – jmegaffin

+0

이것은 아마도 올바른 설명이 아닙니다. 실패한 프로젝트를 다시 클라이언트 프로파일로 전환하여 문제점을 재현하십시오. –

관련 문제