2012-12-20 4 views
1

여러 클라이언트 프로젝트에서 사용하게 될 실버 라이트 클래스 라이브러리를 만들었습니다. 클래스 라이브러리 내에서 현지화 된 텍스트를 표시하는 지역화 된 대화 상자가 있습니다 : You have unsaved pending changes. 이 텍스트는 Messages.resx에 저장 (및 Messages.da.resx 등의 번역)과는 다음과 같이 액세스 할 수 있습니다 : 내 실버 클라이언트 프로젝트에서 클래스 라이브러리 DLL에 대한 참조를 추가 할 때, 대화 상자가 항상 표시Silverlight 클래스 라이브러리의 현지화 된 리소스

Prompt.Announce(Messages.Verify, Messages.UnsavedChanges) 

을 기본 언어 (영어)로

내가 볼 수있는 클래스 라이브러리 빌드 출력이

  • 루트 같다고
    • SilverlightClassLib.dll는
    • SilverlightClassLib.resources.dll

하지만 클라이언트 bu ild 출력에 이것이 없습니다. 덴마크 번역이 거기에 숨어있는 것 같아요.하지만 이것을 실버 라이트 클라이언트 프로젝트에 어떻게 포함시킬 수 있습니까?

UPDATE :
이 TFS에서 폴더 구조입니다 :

  • CLASSLIB
    • 배포
    • 참조는
    • 소스
  • 클라이언트
    • 참조
    • 소스
+0

VS 디버깅 중에 작동합니까? – Remy

+0

아니요, 그렇지 않습니다 – sondergard

답변

2

는 배포 문제 같은데. 클래스 라이브러리 (da \ SilverlightClassLib.resources.dll)의 위성 어셈블리를 클라이언트의 바이너리 폴더에 배포해야합니다 (누락 된 경우 "da"하위 폴더에 계속 있음).

+0

자동화된 방법이 없습니까? 클래스 라이브러리가 재배포 될 때 dll을 로컬로 복사해야한다는 것은 불가능합니다. System.ServiceModel.DomainServices.EntityFramework와 같은 .NET dll을 포함하면 해당 .resources.dll이 자동으로 클라이언트 bin 폴더에 배포됩니다. 이것을 달성 할 수 있습니까 (GAC 또는 그와 비슷한 것에 설치하지 않고도)? – sondergard

+0

클라이언트 프로젝트의 종속성을 어떻게 관리합니까? NuGet을 사용하는 경우 패키지의 클래스 라이브러리 옆에 위성 어셈블리를 포함 할 수 있습니다. – Clafou

+0

모든 것이 TFS에 저장되어 있으므로 소스 제어 "배포"폴더에 classlib를 만들고 DLL을 소스 제어 "References"폴더의 클라이언트 프로젝트 아래에 복사하고 거기에서 dll에 대한 참조를 추가합니다. 질문 : TFS 폴더 구조를 반영하기 위해) 지금까지 언어 하위 폴더가 아닌 main classlib dll을 복사했습니다.하지만 그렇게해도 클라이언트 프로젝트에 어떻게 포함시킬 수 있는지 알지 못합니다. – sondergard

관련 문제