본문 바로가기

Programming/.Net

Embedded resource name 규약

사건의 발단

다국어 지원을 위해서 resx naming rule 참조하여 xxxMail.html > xxxMail.{culture}.html명의 file 등록해서 사용하려는데,

ManifestResource 목록에서 확인이 되지 않았습니다.

, xxxMail.html resource 관리할 있지만, xxxMail.ko.html resource 관리할 없습니다.

 

증상의 확인

Assembly 통해 embedded resource 참조하는 경우, {namespace}.{resource name}으로 접근합니다.

각각에 대해서 명확하게 구분하지 않으므로, ambiguous 할 수 있어 under bar(_) 치환하여 확인하였습니다.

그러자 정상적인 resource 관리되는 것을 확인할 있었습니다.

 

해결

Solution 파일을 수정하는 것으로써 file 등록할 있는 것으로 보입니다. (sln파일을 xml editor 열어서 LogicalName 별도로 지정)

그러나, 이는 개발 편의적인 측면에서 N/G입니다.

결과적으로 이를 해결하기 위해서 dot(.) 대신 다른 character를 사용했습니다. (ex, under bar(_))

 

References

How to: Change the name of embedded .resource http://blogs.msdn.com/b/msbuild/archive/2005/10/06/477858.aspx

'Programming > .Net' 카테고리의 다른 글

[NuGet] ImageResizer  (0) 2014.10.14
dynamic 형식의 활용  (0) 2014.09.04
#region 사용해야 할까?  (0) 2014.08.04
[NuGet] PagedList.Mvc  (0) 2014.07.22
LinQ 유사 검색  (0) 2014.07.22