2013-03-08 2 views
2

런타임에 문화권을 전환 할 수있는 응용 프로그램을 만들었습니다. 하지만 지금은 응용 프로그램이 계속 실행되는 동안 새로운 Satellite 어셈블리를 내 응용 프로그램에 추가하려고합니다. 나는 응용 프로그램 폴더에 (그것의 Localisation.resources.dll 파일을 예를 들어 폴더 af) 특정 문화 폴더를 복사 한 다음 다음 코드 실행런타임에 위성 어셈블리 추가

ResourceManager rm = new ResourceManager(ResxExtension.GetDefaultResxName(this), this.GetType().Assembly); 

radComboBox1.Items.Clear(); 
foreach (CultureInfo ci in CultureInfo.GetCultures(CultureTypes.AllCultures).OrderBy(x => x.DisplayName)) 
{ 
    ResourceSet resourceSet = rm.GetResourceSet(ci, true, false); 
    if (resourceSet != null) 
     radComboBox1.Items.Add(ci); 
} 

// Show CurrentUICulture in the combobox 
radComboBox1.SelectedItem = GetResourceCulture(CultureManager.UICulture, rm); 

을하지만 아무것도 예전의 문화를보고 계속하지만, 변화가 없습니다 추가 된 문화는 표시되지 않습니다. 응용 프로그램을 중지하고 시작할 때만 새로운 문화권이 콤보 상자에 추가됩니다.

런타임에 위성 어셈블리를 추가 할 수 있습니까? 아니면 항상 응용 프로그램을 다시 시작해야합니까?

답변

0

응용 프로그램을 다시 시작해야합니다. 그렇게하지 않으면 웹 응용 프로그램은 bin 폴더에있는 유형을 등록하지 않습니다.

일반적으로 web.config의 터치로 응용 프로그램이 다시 시작됩니다.

관련 문제