2012-10-30 60 views
0

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

+0

IIRC,这是一些已知的问题。 – leppie

回答

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