모바일 디바이스에서 실행파일속에 리소스를 포함시켜 수행시 활용하는 방법입니다.
using System.IO; using System.Reflection; : : // 리소스를 파일에 저장하는 방법 Assembly _assembly; _assembly = Assembly.GetExecutingAssembly(); Stream myFileStream = _assembly.GetManifestResourceStream("MyApplication.resources.my.text"); string curDir = Path.GetDirectoryName(_assembly.GetName().CodeBase); string fileName = curDir + "\\1.html"; byte[] myTextData = new byte[myFileStream.Length]; myFileStream.Read(myTextData , 0, (int)myFileStream.Length); FileStream file = new FileStream(fileName, FileMode.CreateNew, FileAccess.Write); file.Write(myTextData, 0, myTextData.Length); file.Close(); // 내 리소스 이름 나열방법- string[] names = _assembly.GetManifestResourceNames(); foreach (string name in names) System.Console.WriteLine(name);
아래 참고 링크 경로는 모바일이 아닌 Windows 에서 활용방법이며,
아래 소스는 모바일에서의 실 활용 예입니다.
하지만, 아래 참고 링크를 꼭! 먼저 읽어 보시고 아래 코드를 적용하세요.
즉, 주의 할점 한가지가-
resources 폴더를 만들어 리소스 파일을 첨부한 후 속성 창의 Build Action 을 반드시 "Embedded Resource" 로 변경해야 한다는 것입니다.
참고: 모바일이 아닌 Windows 에서 활용방법
http://www.attilan.com/2006/08/accessing_embedded_resources_u.php
using System.IO; using System.Reflection; : : // 리소스를 파일에 저장하는 방법 Assembly _assembly; _assembly = Assembly.GetExecutingAssembly(); Stream myFileStream = _assembly.GetManifestResourceStream("MyApplication.resources.my.text"); string curDir = Path.GetDirectoryName(_assembly.GetName().CodeBase); string fileName = curDir + "\\1.html"; byte[] myTextData = new byte[myFileStream.Length]; myFileStream.Read(myTextData , 0, (int)myFileStream.Length); FileStream file = new FileStream(fileName, FileMode.CreateNew, FileAccess.Write); file.Write(myTextData, 0, myTextData.Length); file.Close(); // 내 리소스 이름 나열방법- string[] names = _assembly.GetManifestResourceNames(); foreach (string name in names) System.Console.WriteLine(name);