나는 일반적으로 인스턴스화 가능한 클래스의 팩토리 메소드를가집니다. 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 그렇게하지 않았다. 매우 이상합니다.
이 클래스는 어떻게 참조됩니까? 동일한 솔루션 내에서 또는 이전에 빌드 한 라이브러리에서 별도의 프로젝트에 있습니까? –
그것은 솔루션 내에서 별도의 프로젝트 (클래스 라이브러리)에 있습니다. 모든 것은 클래스 내의 정적 메소드를 제외하고 작동합니다. – jmegaffin
우리 솔루션의 특정 프로젝트를 수시로 수행했습니다. IDE는 어떻게 든 참조를 연결합니다. 우리를위한 솔루션은 프로젝트 참조를 제거하고 체크인하고, 솔루션을 정리하고, 성공적으로 빌드하지 않은 다음 프로젝트 참조를 다시 추가하는 것입니다. –