2012-10-30 61 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文件。