[C#] 동적 DLL Resource (Assembly) 이용하기
#1. 일단 DLL 파일을 만든다. 이 것은 아래 포스팅한 reseditor 이용하는 식으로 해서 하면 되는데,
[파일] -> [New Project] -> [C#] -> [Class Library] 로 만든다음 Resource를 등록하고 컴파일 한다.
예제로 사용해볼 리소스는 "String111"
#2. 리소스 파일을 [Project] -> [Add Existing...] 하고 방금 컴파일한 DLL파일을 찾는다. 그러면 자동적으로
dll파일은 현재 프로젝트와 같은 폴더로 카피된다.
중요한 것은 dll property에서 [Copy to Output Director....] 를 Copy always나 하여간 Copy로 해야
debug 시 실행파일과 함께하게 된다는 것.
(다른방법이 있는지는 못찾겠다. 실행파일에 합쳐버릴수는 없는건지...)
#3.
다음에 다음과 같이 Reflection을 사용하여 dll을 불러오고
(불러오는 이름명 함수에 따라 파일명 혹은 네임스페이스 인듯하다)
혹은
식으로 함수를 작성하다. ResourceManager에 properties라는 단어가 추가된 것은 첫번째 그림을 보면
resources.resx가 properties라는 폴더 아래에 있기 때문인 듯 하다.
LoadFile이라는 함수는 절대경로를 변수로 취한다.
[파일] -> [New Project] -> [C#] -> [Class Library] 로 만든다음 Resource를 등록하고 컴파일 한다.
예제로 사용해볼 리소스는 "String111"
#2. 리소스 파일을 [Project] -> [Add Existing...] 하고 방금 컴파일한 DLL파일을 찾는다. 그러면 자동적으로
dll파일은 현재 프로젝트와 같은 폴더로 카피된다.
중요한 것은 dll property에서 [Copy to Output Director....] 를 Copy always나 하여간 Copy로 해야
debug 시 실행파일과 함께하게 된다는 것.
(다른방법이 있는지는 못찾겠다. 실행파일에 합쳐버릴수는 없는건지...)
#3.
다음에 다음과 같이 Reflection을 사용하여 dll을 불러오고
(불러오는 이름명 함수에 따라 파일명 혹은 네임스페이스 인듯하다)
혹은
식으로 함수를 작성하다. ResourceManager에 properties라는 단어가 추가된 것은 첫번째 그림을 보면
resources.resx가 properties라는 폴더 아래에 있기 때문인 듯 하다.
LoadFile이라는 함수는 절대경로를 변수로 취한다.
"Programming" 분류의 다른 글
| [펌] Ajax, 간단한 예제 | 2008/05/01 |
| 이제 곧 작별해야할 동방 | 2007/08/07 |
| [Android] SNUH Food for Android | 2010/11/16 |
| PHP ref. | 2007/10/10 |
| 포토스케이프 | 2009/01/29 |
Programming
2009/04/25 14:33
트랙백 주소 : http://www.junn.net/tt/trackback/307
-
C# 어셈블리에 대해서 정리해 보았습니다.
tracked from 재밌게 즐기는 프로그래밍
2009/08/21 20:31
삭제
필요하시면 보시고, 댓글은 필수! 20090821_C# 어셈블리 정리_김용연.hwp








댓글을 달아 주세요
잘봤습니다.
근데 ResourceManager 이건 using 선언을 어떤것을 해야하나요?
안녕하세요~ 요샌 C#을 안써서 소스를 확인할 수 가 없네요. 다만 제가 적어놓은 소스를 보시면 myRes = System.Reflection.Assembly.LoadFrom("ClassLibrary1.dll"); 처럼 애초에 using을 안하는 방법으로 직접 namespace를 사용하기 때문에 따로 선언문이 필요하지 않을 것 같습니다만 정확히는 기억이 잘 안납니다-_-죄송합니다^^;;
using System.Resources;
을 사용하세요