MSBuild不编译资源文件

时间:2012-10-30 08:11:00

标签: c# msbuild

我有一个包含多个项目的解决方案(它是一个Silverlight应用程序)。解决方案中的许多项目都包含资源(resx)文件。当我使用Visual Studio构建解决方案时,所有内容都已编译并嵌入正常(例如XAP文件中的en-US文件夹),但是当我使用MSBuild构建相同的解决方案时,资源文件不会编译/嵌入到XAP文件中。 你如何告诉MSBuild处理像Visual Studio这样的资源文件?

1 个答案:

答案 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文件。