I\'m trying to do Continuous Integration using TFS 2010 for a Windows Phone 7.1 project. There are 2 resource projects (Win32 Project for localisation) and the main Windows
This is how I solved it using SlowCheetah.
Locations
Visual Studio versions
Silverlight versions
Update the Visual Studio project with the following information at the end of the project:
<PropertyGroup>
<XapPackagerDependsOn>
TransformAllFiles;
IncludeTransformedFileInXapFile;
$(XapPackagerDependsOn);
</XapPackagerDependsOn>
</PropertyGroup>
<Target Name="IncludeTransformedFileInXapFile">
<ItemGroup>
<XapFilesInputCollection Include="$(OutDir)YOUR-FILES.CONFIG" />
</ItemGroup>
</Target>
Make sure the config files and the transformation files do not get copied to the output folder:
Solved the problem by setting the output path of the resources project to the output path of the WP7 project and then used XapFilesInputCollection to include them in the xap.
Also changed the referred paths in WMAppManifest.xml for application title .
Changes made :
a. Added/Replaced the OutDir tag in each of the resource projects files .
<OutDir>$(SolutionDir)$(SolutionName)\bin\Debug</OutDir>
This copies the resource project output to main project output AppResLib.dll and AppResLib.dll.040b.mui
b. Then in the main Windows Phone project file (.csproj) added
<Target Name="AfterCompile">
<ItemGroup>
<XapFilesInputCollection Include="$(OutDir)\AppResLib.dll"/>
<XapFilesInputCollection Include="$(OutDir)\AppResLib.dll.040b.mui"/>
</ItemGroup>
</Target>
This works in both VS 2010 build as well as TFS 2010 Build system.
Referring to Silverlight MSBuild Task - execute command line after Xap copied to ClientBin