我有一个使用外部Silverlight DLL的VS2010 SL4项目。该项目本地化了多个RESX文件,DLL也是。我通常在我的解决方案中包含外部DLL,如下所示:
1)在我的解决方案中创建一组虚拟文件夹(比如导入的DLL名为Sample.dll):
/Lib/Sample/Debug
/Lib/Sample/Release
2)在文件系统中创建相同的文件夹结构,并在Debug和Release下复制DLL的各个版本,以便现在找到以下文件:
/Lib/Sample/Debug/Sample.dll
/Lib/Sample/Release/Sample.dll
3)向解决方案中的所有客户端项目添加对 /Lib/Sample/Debug/Sample.dll 的引用。
4)使用添加的引用打开每个项目的.csproj文件,并使用 $(Configuration)更改路径的 Debug 部分,以便右侧在构建期间选择调试/发布版本。
现在的问题是:在我的SL4解决方案中,我可以按照相同的步骤导入与语言无关的DLL。但它的卫星资源呢?例如,导入的DLL的法语版本是在子文件夹 fr-FR 下构建的,并命名为 Sample.resources.dll 。我该如何正确包含它?即使我尝试在编译后的XAP中手动将其添加到文件夹 fr 下,它也会被忽略,应用程序会回归到它的中立文化......
答案 0 :(得分:0)
我想我找到了,这是一个可能感兴趣的回顾:
打开 .csproj 文件,并确保在 中添加所有所需的语言(以分号分隔)。例如,如果您支持 fr-Fr ,请添加< SupportedCultures> fr-Fr< / SupportedCultures> 。
(必须手动执行此操作,我认为1.应该足够了):编译完成后,打开xap(将其重命名为.zip并打开)并添加如果不存在的元素,如< AssemblyPart Source =“fr-FR / Sample.resources.dll”/> ,用于每个带资源的导入卫星。
非常感谢!