2011-01-28 3 views
1

cert1.p12라는 잠시 동안 임베디드 리소스가있는 DLL이 있습니다. 리플렉터 (Reflector)에 리소스 아래에 표시되며 문제없이 코드에서 액세스 할 수 있습니다. 그러나 이제는 cert2.pem이라는 새로운 임베디드 리소스를 추가했습니다. 임베디드 리소스로 표시했으며 .csproj 파일에 표시됩니다. 그러나 컴파일 할 때 Reflector에 나타나지 않으며 코드에서 액세스 할 수 없습니다.두 번째 임베디드 리소스가 주 DLL에 추가되지 않지만 새로운 언어 별 dll이 대신 사용됩니다.

그러나 이제 cert2 리소스와 함께 언어 관련 리소스 파일이 있습니다.

한 가지 내가 컴파일러 출력에 통보하지 않았다 :

에는 Csc.exe 그것에 /resource:Provided\cert1.p12,BookingClient.Provided.cert.p12와 선을 포함을하지만, 언급 새로운 자원.

또한 파일 사이 /embed:Provided\cert2.pem,BookingClient.Provided.cert2.pem

한 가지 차이점 하나는 이진 한 텍스트입니다과 AL.exe 라인이 있었다.

컴파일러가 어떻게이 두 리소스를 다르게 처리합니까? 컴파일러에게 파일이 텍스트이더라도 언어 리소스가 아니고 메인 DLL에 있어야한다고 말할 수 있습니까? 나는 언어 관련 리소스 dll이 필요조차 없다.

고마워요.

답변

0

Ahh가 분류했습니다. 파일을 임베디드 리소스로 표시하는 대신 속성을 사용하여 리소스 파일을 추가하고 파일로 추가했습니다. 이제 스트림을 직접 배열로 변환 할 필요가 없습니다. 전역 리소스 개체에서 직접 배열에 액세스합니다. .

실제로 리소스 파일은 별도의 언어 파일을 원할 때 사용하는 것이지만이 경우에는 이상적이며 원하는 모든 것이 기본 DLL에 있습니다.