win10 uwp 使用 msbuild 命令行编译 UWP 程序
原文:
win10 uwp 使用 msbuild 命令行编译 UWP 程序
版权声明:博客已迁移到 http://lindexi.gitee.io 欢迎访问。如果当前博客图片看不到,请到 http://lindexi.gitee.io 访问博客。本文地址 https://blog.csdn.net/lindexi_gd/article/details/84252865
本文告诉大家如何使用 msbuild 命令行编译一个 UWP 程序 在有一些时候,如使用持续集成的时候就不能通过 VisualStudio 的方式编译 UWP 程序,需要使用命令行的方式编译。 尝试在本地从开始菜单打开开发命令提示符,或者从使用命令行调用本机的 VisualStudio 编译命令行 cmd> "C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7ToolsLaunchDevCmd.bat" 在 VisualStudio 在 C 盘安装就可以在 运行之后可以看到下面界面 > "C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7ToolsLaunchDevCmd.bat" ********************************************************************** ** Visual Studio 2017 Developer Command Prompt v15.8.5 ** Copyright (c) 2017 Microsoft Corporation ********************************************************************** C:Program Files (x86)Microsoft Visual Studio2017Enterprise> 先进入项目所在的文件夹,也就是 sln 或 csproj 文件所在的文件夹,通过 msbuild 可以编译 sln 或编译 csproj 项目,推荐是编译 sln 的方式 在命令行跳转盘符,如从原来的C盘到 D 盘可以通过 cmd> D: 这样就可以跳转到 D 盘,在进入指定的文件夹,可以输入 如果自己输入很容易就输入错误,推荐输入 在编译 UWP 之前,很重要的是清理原有的文件,假如文件都是通过 git 管理的,当前也不存在没有被跟踪的文件,可以使用下面的代码删除无关的文件,需要注意的是通过这个方式必须保证证书文件是被跟踪的 cmd> git clean -xdf 清理之后可以通过下面的代码还原 UWP 项目,还原这一步非常重要 cmd> msbuild /t:restore 但是默认欢迎的 ARM 的项目,很多时候需要的是 x86 的项目,可以通过下面的方式还原 cmd> msbuild /t:restore /p:Platform=x86 如果要还原x64的程序,可以使用下面代码 cmd> msbuild /t:restore /p:Platform=x64 现在就可以进行编译了,通过下面的代码进行编译 cmd> msbuild /p:Platform=x86 现在就可以编译 DEBUG 下的 x86 程序了 如果需要编译同时输出,可以尝试下面的代码。下面的 AppxPackageDir 是填写 AppxPackageDir 的文件夹路径,请将这个值修改为自己需要的。 /p:AppxBundlePlatforms="x86|x64|ARM" /p:AppxPackageDir="D:lindexiAppxPackages" /p:AppxBundle=Always /p:UapAppxPackageBuildMode=StoreUpload /p:platform="x86" /p:configuration="release" /p:VisualStudioVersion="15.0" 如果需要输出可以上传的包,需要先在本地链接到应用商店,然后执行下面代码 msbuild /t:restore /t:Publish /p:Configuration=Release /p:AppxPackageDir="D:lindexiAppxPackages" /p:AppxBundle=Always /p:UapAppxPackageBuildMode=StoreUpload /p:AppxBundlePlatforms="x86|x64|arm" 如果是需要编译其他的解决方案,也就是当前的工作文件夹不在指定的项目文件夹,可以在 msbuild 后面添加解决方案的路径。注意这个路径需要使用 msbuild "D:lindexiUWPFoo.csproj" /t:restore /t:Publish /p:Configuration=Release /p:AppxPackageDir="D:lindexiAppxPackages" /p:AppxBundle=Always /p:UapAppxPackageBuildMode=StoreUpload /p:AppxBundlePlatforms="x86|x64|arm" 如果是在服务器端编译,推荐先清理一下,然后再重新编译 清理的命令,请注意,如果需要带路径,对于清理命令需要加上 sln 文件 msbuild /t:clean
// 带路径
msbuild "E:lindexiUWPFoo.sln" /t:clean
还原 Nuget 包 msbuild /t:restore
// 带路径
msbuild "E:lindexiUWPFoo.sln" /t:restore
重新编译 msbuild "D:lindexiUWPFoo.csproj" /t:rebuild /t:Publish /p:Configuration=Release /p:AppxPackageDir="D:lindexiAppxPackages" /p:AppxBundle=Always /p:UapAppxPackageBuildMode=StoreUpload /p:AppxBundlePlatforms="x86|x64|arm" 例如在集成工具使用,实际大多数的集成工具默认都有配置 UWP 的编译,具体请看 win10 uwp 使用 Azure DevOps 自动构建 - lindexi - CSDN博客 win10 uwp 使用 AppCenter 自动构建 - lindexi - CSDN博客 在集成工具需要自己写编译的流程的时候,推荐下面的步骤
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Windows上的应用程序颜色(背景,按钮等)指南?
- windows – 在UWP应用程序中打开UWP
- cygwin – 如何在windows上改善babun的zsh加载时间?
- windows下zendframework项目环境搭建(通过命令行配置)
- 引用子项目的所有项目都必须安装NuGet软件包Microsoft.Bcl.
- tfs – 使用Team Foundation Services的Microsoft Access 2
- windows-server-2008-r2 – 如何创建任务计划程序以在Windo
- Window上的Java Swing pack()取消了它的最大化,如何避免这种
- 解决运行前出现的地址错误问题-emp
- 在Windows中自动执行任务的最佳方法