별도의 프로젝트에서 XML 파일을로드하려고합니다. 이러한 프로젝트 중 하나는 XML 문서 판독기를 호출하고 상대 디렉토리를 파일에 지정하는 경로를 가져 오는 게임 엔진입니다. 다른 프로젝트다른 프로젝트의 리소스를로드 중입니까?
string filePath = "Test.xml";
Npc npc = new Npc("somename", 2,filePath);
Test.xml
에서
XDocument doc;
try
{
Stream stream = this.GetType().Assembly.GetManifestResourceStream(path);
doc = XDocument.Load(stream);
}
catch
{
doc = XDocument.Load(path);
}
엔진에서
은 다른 프로젝트의 루트 디렉토리에 있습니다. Npc
생성자는 Statistics
개체 생성자를 호출 한 다음 XDocument
을로드하는 메서드를 호출합니다. 이 상황이 발생하면 filePath
은 레이어를 통해 아래쪽으로 전달됩니다.
나는 this을보고 궁극적으로 성취하려고 노력하고있는 임베디드 리소스 예제를 시도해 보았습니다.
내가 뭘 잘못하고 있니? 파일이있는 곳이기 때문에
업데이트 나는 Chronos.Text.xml
에 Text.xml
을 변경했습니다.
try
{
Stream stream = this.GetType().Assembly.GetManifestResourceStream("Chronos.Test.xml"); //returns null
doc = XDocument.Load(stream); //Exception thrown
}
catch
{
doc = XDocument.Load(path); //File not found
}
AssemblyDefaultNamespace 같은 것이 있습니까? 나는 그것을 찾을 수없는 것 같습니다. – zeboidlund
트리에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하십시오. '응용 프로그램'탭에는 오른쪽 상단에 '기본 네임 스페이스'라는 옵션이 있습니다. – Coincoin
답을 업데이트했습니다. 불행히도, 수신 한 모든 정보가 null입니다. 쿼리를 수정하기 위해 내가 할 수있는 일이 있습니까? – zeboidlund