Visual Studio 2005/2008을 사용하는 경우 가장 쉬운 방법은 XSLT 파일을 프로젝트 리소스로 포함시키는 것입니다.
- 프로젝트의 속성을 엽니 다.
- 리소스 탭을 선택하십시오. "이 프로젝트에는 기본 리소스 파일이 없습니다. 여기를 클릭하여 만듭니다."라는 링크가 표시됩니다. 계속해서 클릭하십시오.
- 상단의 리소스 추가 드롭 다운을 클릭하고 기존 파일 추가를 선택하십시오.
- XSLT 파일을 찾아 선택한 다음 선택하십시오. 이 작업을 완료 한 후
, 당신은 쉽게 다음과 같은 방식으로 리소스에 액세스 할 수 있습니다 :
// To get the contents of the resource as a string:
string xslt = global::MyNamespace.Properties.Resources.MyXsltFile;
// To get a Stream containing the resource:
Stream xsltStream = global::MyNamespace.Properties.Resources.ResourceManager.GetStream("MyXsltFile");
당신은 비주얼 스튜디오 2003을 사용하는 경우, 당신의 가장 좋은 방법으로 그 XSLT 파일을 포함하는 것입니다 DLL에 대한 임베디드 리소스 Visual Studio에서 솔루션 탐색기에서 파일을 선택하고 속성 창을 연 다음 빌드 유형을 "포함 된 리소스"로 변경합니다. 그런 다음 GetManifestResourceStream method을 사용하여 XSLT가 포함 된 스트림을 가져올 수 있습니다. 전달할 이름은 어셈블리의 기본 네임 스페이스, 파일이 들어있는 폴더 및 파일 이름을 기반으로합니다.
예를 들어, 데이터 계층 어셈블리에 My.DataLayer라는 기본 네임 스페이스가 있다고 가정 해보십시오. 데이터 계층 프로젝트에는 Transform.xslt라는 파일이 들어있는 Templates라는 폴더가 있습니다.당신의 XSLT를 얻을 수있는 코드는 다음과 같습니다
// There are numerous ways to get a reference to the Assembly ... this way works
// when called from a class that is in your data layer. Have a look also at the
// static methods available on the Assembly class.
System.Reflection.Assembly assembly = (GetType()).Assembly;
System.IO.Stream xsltStream = assembly.GetManifestResourceStream("My.DataLayer.Templates.Transform.xslt");
자세한 내용은 this article on CodeProject을 확인하십시오.
단지 2005 년 정확한 절차에 따라 리소스를 스트림으로 가져 오는 경우 "System.InvalidOperationException : Resource 'xxx'가 스트림 호출 GetObject가 아니 었음을 알 수 있습니다. – tjmoore