我有一个包含多个项目的解决方案(它是一个Silverlight应用程序)。解决方案中的许多项目都包含资源(resx)文件。当我使用Visual Studio构建解决方案时,所有内容都已编译并嵌入正常(例如XAP文件中的en-US文件夹),但是当我使用MSBuild构建相同的解决方案时,资源文件不会编译/嵌入到XAP文件中。 你如何告诉MSBuild处理像Visual Studio这样的资源文件?
答案 0 :(得分:1)
也许这篇文章Building Localized XAP Resource Files For Silverlight 4 by Guy Smith-Ferrier可能指向正确的方向,您需要将以下行添加到.csproj文件的底部: -
<Import Project="$(ProgramFiles)\MSBuild\I18N\Silverlight\v4.0\Silverlight.Build.Tasks.targets" />
<Target Name="AfterBuild" DependsOnTargets="XapResourcePackager">
</Target>
然后在.csproj的</SupportedCultures>
行下方添加以下行: -
<PackageCultures>en-US</PackageCultures>
(其中<PackageCultures>
包含以逗号分隔的文化列表,用于创建XAP资源文件)。
您当然需要下载带有源代码的MSBuild tasks来构建MSBuild任务库(Silverlight.Build.Tasks.dll)和MSBuild目标文件(Silverlight.Build.Tasks.targets)您添加到Silverlight应用程序的.csproj文件。