강력하게 타이핑 된 리소스 파일을 공개 할 수있는 방법이 있습니까 (내부와 반대로)?

StackOverflow https://stackoverflow.com/questions/140937

문제

내가하고 싶은 일은 다음과 같습니다.

내 리소스 파일 (예 : UI 라벨 및 Whatnot)이 포함 된 라이브러리 프로젝트를 만들고 싶습니다. 그런 다음 UI와 테스트에서 리소스 라이브러리를 사용하고 싶습니다. (즉, 기본적으로 여러 프로젝트에서 참조하는 자원에 대한 공통 장소가 있습니다.)

불행히도, 강력한 PredResourceBuilder (리소스 코드를 생성하는 .NET 클래스)는 기본적으로 리소스 파일을 내부적으로 만들기 때문에 다른 프로젝트 (예 : UI 또는 테스트)에서 라이브러리에서 강력하게 입력 한 리소스를 참조 할 수는 없습니다. 후프를 통해 (즉, 설명 된 것과 비슷한 것 여기, 또는 공개 래퍼 클래스/기능 작성).

불행히도,이 두 솔루션 모두 참조를 강하게 유지하는 능력을 제거합니다.

여러 프로젝트에서 참조 할 수있는 강력하게 입력 된 .NET 리소스를 만들 수있는 간단한 방법을 찾은 사람이 있습니까?

나는 이것을 달성하기 위해 빌드 이벤트를 사용하지 않기를 원합니다 (즉, '내부'의 모든 인스턴스를 'public'으로 바꾸는 것과 같은 작업을 수행하지만 기본적으로 찾을 수없는 경우 낙하 계획입니다. 답변..

도움이 되었습니까?

해결책

어떤 버전의 Visual Studio를 사용하고 있는지 확실하지 않으므로 중 하나에 대한 단계를 전달할 것입니다.

vs 2008- 설계보기에서 Resx 파일을 열면 Add Resource 옆에 옵션이 있으며 Access Modifier라고하는 리소스를 제거하는 옵션이 있습니다. 생성 된 코드를 내부에서 공개로 변경할 수있는 드롭 다운입니다.

vs 2005- 2008 년과 같은 코드를 생성 할 수있는 옵션이 없습니다.이 두통 때문에 추가 된 기능이었습니다. 그래도 일이 있습니다. 이와 같은 타사 생성기를 사용할 수 있습니다 도구 또는 사용할 수 있습니다 InternalSvisibleto AssemblyInfo.cs의 속성 리소스 라이브러리의 내부 클래스에 액세스 할 수있는 프로젝트를 추가하십시오.

다른 팁

Visual Studio 2008을 사용하면 생성 된 리소스 클래스가 내부 또는 공개 여부를 선택할 수 있습니다. 또한 있습니다 RESXFILECODEGENERATOREX, Visual Studio 2005를 위해 그렇게해야합니다.

데이터 세트 디자이너와 속성 창이 표시되면 "수정 자"속성이 있습니다. 데이터 세트의 경우 내부를 말할 수 있습니다.

모든 새 데이터 세트를 공개 할 수있는 설정이 있는지 모르겠습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top