我的解决方案中有一些由其他项目构建的 xap,我需要将 xap 包含在生成的 WSP 中。
我有一个带有子文件夹ClientBin的映射文件夹Layouts ,然后在 csproj 中我有以下内容:
<ItemGroup>
...
<Folder Include="Layouts\ClientBin\" />
...
<Content Include="Layouts\ClientBin\*.xap" />
</ItemGroup>
...
<Target Name="BeforeLayout">
<ItemGroup>
<XAPFiles Include="..\..\out\$(Configuration)\bin\sl\xap\**\*.xap" />
</ItemGroup>
<Copy SourceFiles="@(XAPFiles)" DestinationFolder="Layouts\ClientBin" OverwriteReadOnlyFiles="true" />
</Target>
当我从目标文件夹中删除 xaps 并在 VS 中打开 SP 项目时,包管理器会显示其中没有任何内容的布局文件夹。然后,当我构建时,没有一个 xap 被打包在 WSP 中,但复制操作在项目本地工作。如果我重建没有任何改变。如果我卸载并重新加载项目然后构建,WSP 确实包含我需要的文件。
这适用于我的开发箱,因为我可以确保执行所有这些步骤以使包管理器满意,但它不适用于团队构建机器。我可以采取哪些步骤来确保包管理器获取那些 xap 甚至其他方式来实现我想要做的事情?