命令行编译 WPF
在开发调试代码 WPF 时,经常需要在修改完成代码后,点击 Rebuild,然后到指定文件夹下点击打开对应的 .exe 验证程序是否正确,
可以通过以下命名实现修改程序后,点击一个 .bat 文件,直接完成上面的操作,实现一键编译打开 .exe
实现步骤:
1. 通过命令行的方式 Rebuild
微软官方的命令如下:
devenv SolutionName /rebuild SolnConfigName [/project ProjName] [/projectconfig ProjConfigName]
SolnConfigName
必需。 用于重新生成在 SolutionName
中命名的解决方案的解决方案配置名称。
SolutionName
必需。 解决方案文件的完整路径和名称。
/project ProjName
可选。 解决方案中项目文件的路径和名称。 可以输入从 SolutionName
文件夹到项目文件的相对路径、项目的显示名称或项目文件的完整路径和名称。
/projectconfig ProjConfigName
可选。 重新生成命名的 /project
时要使用的项目生成配置的名称。
详细内容请参考微软官方文档:
https://docs.microsoft.com/zh-cn/visualstudio/ide/reference/rebuild-devenv-exe?view=vs-2015
其实就是通过 devenv 这个程序进行编译,以下是个实际应用中的例子:
start /high "compile you_project_name" /WAIT "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe" "D:\gitlab\drivereasy3\project.sln" /rebuild Release /project "ProjectWPF\ProjectWPF.csproj" /projectconfig Release
2. 完成编译后,接下来就可以直接打开 .exe
在 .bat 程序中打开 .exe,有两种方式,
一种是直接打开,.bat 会等 .exe 关闭后再继续直接下面的命令,
"文件路径"
例如:
"D:\gitlab\project/test.exe"
一种是打开后不管是否关闭,都会继续执行下一条命令
start "" "D:\gitlab\project/test.exe"
完整的 .bat 一键编译运行程序如下:
@echo off title Build Project
echo . Rebuild Release Project, Please Wait...
rem .rebuild Release
rem 务必根据本地电脑上的 vs 选择对应的 devenv.exe
start /high "compile project" /WAIT "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe" "D:\gitlab\project\FuZhou.sln" /rebuild Release /project "DriverEasyWPF\DriverEasyWPF.csproj" /projectconfig Release
if %errorlevel% == (
echo.
echo ERROR: Compile ERROR!
pause
exit
) echo . Open Release Project, Please Wait...
start "" "D:\gitlab\project\DriverEasyWPF\bin\Release\DriverEasy.exe"
exit
命令行编译 WPF的更多相关文章
- 基于命令行编译打包phonegap for android应用 分类: Android Phonegap 2015-05-10 10:33 73人阅读 评论(0) 收藏
也许你习惯了使用Eclipse编译和打包Android应用.不过,对于使用html5+js开发的phonegap应用,本文建议你抛弃Eclipse,改为使用命令行模式,绝对的快速和方便. 一直以来,E ...
- 用命令行编译java并生成可执行的jar包
用命令行编译java并生成可执行的jar包 1.编写源代码. 编写源文件:CardLayoutDemo.java并保存,例如:I:\myApp\CardLayoutDemo.java.程序结构如下: ...
- iOS系统提供开发环境下命令行编译工具:xcodebuild
iOS系统提供开发环境下命令行编译工具:xcodebuild[3] xcodebuild 在介绍xcodebuild之前,需要先弄清楚一些在XCode环境下的一些概念[4]: Workspace:简单 ...
- namke 命令行编译
简介 大家已经习惯于微软提供的功能强大的IDE,已经很少考虑手动编连项目了,所谓技多不压身,有空的时候还是随我一块了解一下命令行编译. C/C++/VC++程序员或有Unix/Linux编程经验应该很 ...
- xcode命令行编译时:codesign命令,抛出“User interaction is not allowed.”异常 的处理
之前正常运行的hudson iOS编译服务器slave节点,忽然出现编译失败.发现原因有2个: 第一个原因是编译机上用来签名的用户帐号过期,第二个原因是操作系统和xCode升级造成的. 对于第一个,重 ...
- 命令行编译运行Java
首先要安装JDK,然后设置环境变量Path,添加C:\Program Files (x86)\Java\jdk1.8.0_66\bin 然后建立一个名为j.java的文件,里面加入如下代码: publ ...
- VS2010命令行编译C#和VC项目
VS2010命令行编译C#和VC项目 VS2010命令行编译C#和VC项目 根据需要动态创建数据库字段后,需要动态创建或者调整页面,那就需要编译这些页面和后台文件.因此使用命令行编译将会非常方便,对于 ...
- Android 命令行编译、打包生成apk文件
一.搭建搭建环境 1. 安装JDK 和 Android SDK 2. 配置环境变量 D:\android-sdk-windows\tools C:\Program Files\Java\jdk1. ...
- 韩顺平细说Servlet视频系列意外收获之用命令行编译带有包的java类解决方案
命令行编译带有包的java类 在命令行编译这一块,基本上都是新手入门时了解一下,然后就直奔IDE而去.这样固然没错,就怕那些--.然后今天在视频中看到了这种方法,觉得可能会用到,所以就记录下来了,以备 ...
随机推荐
- 11java基础继承
一. 继承相关 18.实现如下类之间的继承关系,并编写Music类来测试这些类. package com.hry.test; public class Instrument { ...
- tomcate8配置多个二级域名问题解决根目录空白2017年12月9日
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDepl ...
- LeetCode7.整数反转 JavaScript
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: ...
- BionicApi 学习笔记
1.内存管理 malloc, realloc, free new, delete2.文件输入操作 fopen, fwrite, fputs, fputc, fprintf, fflush fread, ...
- 剑指offer js算法练习(1-10)
1.二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数, ...
- 【学时总结&模板时间】◆学时·10 & 模板·3◆ AC自动机
◇学时·10 & 模板·3◇ AC自动机 跟着高中上课……讲AC自动机的扩展运用.然而连KMP.trie字典树都不怎么会用的我一脸懵逼<(_ _)> 花一上午自学了一下AC自动机 ...
- MySQL备份恢复之mydumper
Preface In my previous two blogs,we have known about the tool of backing up MySQL db.I'm gon ...
- 全盘解决eclipse之maven项目报错
每次新建maven的web(war包方式)项目时都会报错而且都要手动改,很麻烦 解决:(注意里面的jdk版本换成自己的) 改变maven配置文件 settings.xml 在文件的<prof ...
- Windows登录密码明文获取器
软件原理:本软件根据开源工具mimikatz2.0 修改!软件能直接读取系统明文密码! 支持32位.64位系统 win xp/vista/7/8/8.1 本机win10专业版测试不能获取,虚拟机win ...
- js根据年份获取某月份有几天
function getNum(year, month) { var temp; month = parseInt(month, 10); temp = new Date(year, month, 0 ...