gpt4 book ai didi

.net - Visual Studio 将不必要的 XML doc 文件打包到 WP8 XAP 中

转载 作者:行者123 更新时间:2023-12-02 17:40:05 24 4
gpt4 key购买 nike

如果您在 Visual Studio 中创建 Windows Phone 8 应用程序,并使用 nuget 或手动提供的 XML 文档文件引用任何库,Visual Studio 也会自动将这些 XML 文件打包到输出 XAP 中。

在我们的例子中,Visual Studio 的这种奇怪行为使 XAP 大小几乎增加了一倍。 (我们总共有 8Mb 的 xml 文档。)

WP7应用项目不存在这样的问题。

如何通过强制 Visual Studio 不打包不必要的文档文件来减小 xap 文件的大小?

2013 年 2 月 14 日更新:

重现问题的步骤:

  1. 使用 Visual Studio 创建 Windows Phone 8 应用项目
  2. 使用 NuGet 包管理器引用“响应式(Reactive)扩展 - 主库”
  3. 构建解决方案
  4. 转到 Bin 文件夹并解压 XAP 存档

你会发现有很多不必要的XML文档文件,比如“System.Reactive.Core.xml”

我认为这是安全问题,因为如果您为您的项目(或解决方案中的其他项目)启用 XML 文档生成,这些 XML 文档也将被打包到 XAP 中 – 当任何人可能阅读您的评论时,这是非常不希望的代码。

最佳答案

更新于 2013 年 2 月 20 日

正如 @A-student 在评论中指出的那样,我之前的解决方案将强制您在解决方案中的每个项目中添加 MSBuild 内容。

这个只需要您在实际有 XAP/APPX 文件输出的项目上输入它:

<PropertyGroup>
<FilesToXapDependsOn>$(FilesToXapDependsOn);AfterFilesToXapDependsOn</FilesToXapDependsOn>
</PropertyGroup>
<Target Name="AfterFilesToXapDependsOn">
<ItemGroup>
<FilteredPackagingOutputs Remove="@(FilteredPackagingOutputs)" Condition="'%(FilteredPackagingOutputs.OutputGroup)' == 'CopyLocalFilesOutputGroup' AND '%(FilteredPackagingOutputs.Extension)' == '.xml'" />
</ItemGroup>
</Target>

这有点像黑客,应该谨慎使用(现在不确定这实际上可能会产生什么影响),但目前看来可以完美完成这项工作!

关于.net - Visual Studio 将不必要的 XML doc 文件打包到 WP8 XAP 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14849374/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com