2 개 (또는 여러 개)의 프로젝트간에 리소스 파일을 공유하는 방법은 두 가지를 원합니다. 그래서 C# - 프로젝트 간 리소스 파일 공유
, 나는 세 가지 프로젝트를했습니다, 다시 시작합니다 :(정의로) 리소스 파일을 포함하는 개발 프로젝트 (CF.NET).
비어있는 두 개의 다른 프로젝트가 있습니다. 그러나 개발 프로젝트에 연결하는 것은 매번 다른 빌드이므로 개발 프로젝트를 수정하면 세 개의 프로젝트가 모두 업데이트됩니다. (csproj 파일 수정)
질문은 Resources 파일은 무엇입니까? 개발 프로젝트에서 액세스하려고 할 때 모든 리소스를 얻지 만 다른 두 가지를 시도 할 때 "MissingManifestResourceException"이 throw됩니다.
이 문제를 해결하는 방법에 대해 알고 싶습니다.
감사합니다.
[편집] 여기
내가 무슨 짓을했는지 있습니다 :
(자원 파일을 포함한) 모든 코드가 포함되어 있습니다 "RealProject"라는 이름의 프로젝트 라는 이름의 프로젝트를 만듭니다 만들기 " LinkedProject "에 아무것도 들어 있지 않습니다 (모든 파일을 삭제하고 다음과 같이 csproj 파일을 수정하십시오 :
<ItemGroup>
<Compile Include="..\RealProject\**\*.cs" />
</ItemGroup>
그래서 LinkedProject 디렉토리에 난 단지했습니다 :
- [디렉토리] 빈
- [디렉토리]
- [파일] LinkedProject.csproj 전체 LinkedProject는 RealProject 파일을 사용
을 obj와, 그것은 단지 다른 구성 빌드입니다. (이유는 여기를 참조하십시오 : C# - Code compiler for .NET & CF.NET)
해당 구성에 들어가면 리소스 파일 fr에 액세스 할 수 없습니다 om the RealProject ...
화면이 필요하거나 자세한 설명이 필요하면 질문하십시오.
이 코드[편집]
, 그것은 작동, 자원 관리자는 좋은 어셈블리 이름에로드되지 않습니다, 그러나 그것은해야 더 나은 솔루션을 존재!
Assembly ass = Assembly.ReflectionOnlyLoadFrom(@"..\..\..\RealProject\bin\Debug\RealProject.dll");
ResourceManager manager = new ResourceManager("RealProject.Properties.Resources", ass);
[솔루션]
것들 확인 :
- LinkedProject을 RealProject
- 추가 자료와 같은 네임 스페이스로
- 청소를 링크로 모두 위로 귀하의 솔루션
- 다시 작성하십시오
테스트!
첫 번째 시도는 작동하지 않습니다. (내 다른 두 프로젝트는 이미 첫 번째 프로젝트와 연결되어 있습니다!) –
프로젝트가 링크되어 있다고 정확히 할 때 무슨 뜻입니까? –
내 편집을 참조하십시오.) –