2010-06-13 3 views
9

일부 클래스 파일을 리소스로 사용하여 클래스 라이브러리 프로젝트에 추가하려고합니다. 그렇게하는 방법을 알려주세요. windows 응용 프로그램에서 나는 그것을 좋아할 것입니다 ClassLibrary1.Properties.Resources.file.xml클래스 라이브러리 프로젝트의 리소스

하지만 여기에 내가 어떻게 여기에 어떤 아이디어도 일하지 않았습니까?

+0

그게 효과가 없습니까? 너 뭐 해봤 니? – dtb

+6

지구상의 "여기"는 어디에 있습니까? –

답변

9

This article C#에서 임베디드 리소스를 사용하는 방법을 설명합니다. 포함 리소스로 프로젝트에 파일을 추가하고 표시 (속성) '실행 시간'에서

  • : 다음을 보유하고 총회의 인스턴스를 가져옵니다

    은 '디자인 타임'에서

    1. 아래로 비등 원하는 리소스를 가져온 다음 해당 리소스를 스트림으로 가져옵니다.

    var assembly = Assembly.GetExecutingAssembly();

    var stream = assembly.GetManifestResourceStream ("fully.qualified.name.of.the.resource");

    리소스의 fq 이름을 알아내는 데 어려움이있는 경우 reflector을 사용하여 리소스를 보유하는 어셈블리를 여는 것이 좋습니다. 리소스 폴더로 이동하여 특정 리소스를 마우스 오른쪽 버튼으로 클릭하고 '복사'를 선택하십시오. Windows 응용 프로그램에서

  • +0

    감사합니다. 이것은 나를 도왔다. 도구를 다운로드하지 않고 이름을 가져 오는 또 다른 방법은 _assembly.GetMainfestResourceNames()에 액세스하여 거기에 중단 점을 지정하는 것입니다. 모든 이름을 얻은 다음 복사/붙여 넣기를하고 이름을 얻으려는 전화를 제거 할 수 있습니다. :) – bgs264

    8

    내가 ClassLibrary1.Properties.Resources.file.xml처럼 할 것

    기본적으로 리소스에 액세스하기 위해 생성 된 클래스는에서 액세스 할 수 있도록 내부에 다른 어셈블리. 공개해야하는 경우 .resx 파일을 선택하고 속성으로 이동 한 다음 사용자 지정 도구 속성을 "ResXFileCodeGenerator"에서 "PublicResXFileCodeGenerator"로 변경합니다. 이 사용자 정의 도구는 공개 클래스를 생성하므로 사용자의 문제를 해결할 수 있습니다.

    2

    클래스 라이브러리 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택한 다음 왼쪽의 탭에서 리소스 섹션을 선택하십시오.

    .resx 파일은 Visual Studio에서 인식 할 수 없으므로 새 파일을 추가하십시오. 새 .resx 파일을 만듭니다.

    원본 콘텐츠를 모두 복사하여 붙여 넣기하십시오. 그런 다음 오래된 것을 삭제할 수 있습니다. 그게 전부 야!

    지원되는 모든 언어에 대해 동일한 절차를 반복해야합니다.

    관련 문제