2011-09-04 55 views
0

我有一個使用外部Silverlight DLL的VS2010 SL4項目。該項目本地化有多個RESX文件,並且該DLL也是。我通常包括我的解決方案,外部DLL如下:通過本地化的DLL導入部署SL4應用程序

1)在我的解決方案,如創建一組虛擬文件夾(比如進口的DLL被命名爲Sample.dll):

/Lib/Sample/Debug 
    /Lib/Sample/Release 

2)創建相同的文件夾結構,文件系統和調試下,複製和釋放DLL的各個版本,所以現在我找到以下文件:

/Lib/Sample/Debug/Sample.dll 
    /Lib/Sample/Release/Sample.dll 

3)添加到所有客戶端項目,在解決一個參考/Lib/Sample/Debug/Sample.dll

4)打開與所添加的參考每個項目的.csproj文件,並改變以$(配置)路徑的調試一部分,所以,正確的調試/發佈版本爲Build過程中吸收。

現在的問題是:在我的SL4解決方案中,我可以按照相同的步驟導入與語言無關的DLL。但是它的衛星資源呢?例如,導入的DLL的法語版本是在子文件夾fr-FR下構建的,並且名爲Sample.resources.dll。我應該如何正確包含它?即使我嘗試手動添加它在編譯的XAP文件夾下FR,它將被忽略和應用程序回落到它的中性文化......

回答

0

我想我找到了,這裏有一個概括對他們來說可能是興趣:

  1. 打開的.csproj文件,並確保你在添加所有所需的語言(用分號分隔)。例如,如果您支持fr-Fr add <支持的文化> fr-Fr </SupportedCultures >

  2. (不得不手動做到這一點,我認爲1,應該是足夠了):編譯一次,打開你的XAP(將其重命名爲.zip和開放),並添加如果不存在的元素像< AssemblyPart源=」 fr-FR/Sample.resources.dll「/ >爲每個導入的衛星提供資源。

還是謝謝!

相關問題