在软件项目不断的进展中,MSBuild 脚本可能几个月都不会被修改,因为通常编译和发布的目录是不经常变化的. 但,一旦某天你需要修改了,看到那一堆 $(Something). @(Something).%(Something) 是相当的头大,不得不搜索 MSDN 才能找到合理的用法. 每次看到下面这样的语法,我都感觉,有必要把语法设计成这样吗? <Copy SourceFiles="@(SrcFiles)" DestinationFiles="@(SrcFiles-&g…
我曾经写过一篇文章 如何创建一个基于命令行工具的跨平台的 NuGet 工具包,通过编写一个控制台程序来参与编译过程.但是,相比于 基于 Task 的方式,可控制的因素还是太少了. 有没有什么办法能够让控制台程序也能与 MSBuild Target 之间发生更多的信息交换呢?答案是有的,通过捕获控制台的输出!   捕获控制台输出 如果你喜爱阅读文档,那么答案已经不陌生了,在微软的官方文档 Exec Task 中就已经提及了属性 ConsoleToMSBuild.将此属性设置为 True,将能够捕获…
ILMerge ILMerge是一个将多个.NET程序集合并到一个程序集中的实用程序.它可以免费使用,并以NuGet包的形式提供. 如果您在使用它时遇到任何问题,请与我们联系.(mbarnett at microsoft dot com).但首先尝试阅读文档. ILMerge接受一组输入程序集并将它们合并到一个目标程序集中.输入程序集列表中的第一个程序集是主程序集.当主程序集是可执行文件时,目标程序集将创建为具有与主程序集相同的入口点的可执行文件.此外,如果主程序集具有强名称,并且提供了.snk…
一.前言 MSBuild是一个既熟悉又陌生的名字,Visual Studio的项目加载和构建均通过MSBuild来实现.VS中右键打开项目菜单,对应MSBuild的Build目标,对应MSBuild的Rebuild目标,对应MSBuild的Clean目标,对应MSBuild的PublishOnly目标.到这里我想大家都明白MSBuild就和Ant一样就是一个用于项目构建的任务执行引擎,只不过它被融入到VS中,降低了入门难度.但融入VS中只是方便我们使用而已,并不代表不用了解学习,尤其项目规模愈发…
因为项目需要,最近在研究Wix打包部署,园子里也有一些关于wix的博客,方方面面,讲的点各不同.我自己也在测试过程中,写下过程,以供参考.最新版本WiX Toolset v3.7,如何安装的就不说了,可以参考 http://blog.csdn.net/rryqsh/article/details/8274832 打包关心的问题有 1).Net版本检查  2)桌面和菜单栏的快捷方式 3)更换图标画面,进度条  4)自动打包  5)自动更新版本.6)安装目录和细节 带着问题去探索,欢迎补充.先走通一…
VS .props解析   在VS 2010项目文件夹中属性表文件的新的格式(.props).Visual Studio 2010引入了用户设置文件(Microsoft.cpp.<Platform>.users.props)以控制包括全局搜索路径在内的全 局设置.这些文件位于$(USERPROFILE)\appdata\local\microsoft\msbuild\v4.0目录.同时,用户也可以 采用自定义的属性表文件来 保存对于相应的工程的设置.Visual Studio 2010不再支持…
背景 托博客园的福,上周六,有家开发医疗行业系统的初创公司联系我,说在博客园上看到我关于WPF的几篇文章,邀请我去他们那里交流WPF相关的技术知识和心得体会.作为非大拿的我自然是受宠若惊,但对方好意相约,我便欣然前往. 诸事按过不表,在交流过程中,谈到了单独一个产品的版本控制的问题. (以下该公司人员简称为对方) 对方:“我们用SVN,还不错.只是现在产品的版本越来越多.” 我:“怎么说?” 对方:“我们开发平台有2.0.4.0,目前正在尝试4.5,特性和语法还是有些许不一样的.但是我们不可能为…
Import 元素 (MSBuild)             Visual Studio 2013                 .NET Framework 4 .NET Framework 3.5 .NET Framework 3.0 .NET Framework 2.0 Visual Studio 2012   将一个项目文件的内容导入另一个项目文件.   复制             <Import Project="ProjectPath" Condition=&q…
原文地址:http://www.cnblogs.com/stoneniqiu/p/3355086.html 因为项目需要,最近在研究Wix打包部署,园子里也有一些关于wix的博客,方方面面,讲的点各不同.我自己也在测试过程中,写下过程,以供参考.最新版本WiX Toolset v3.7,如何安装的就不说了,可以参考 http://blog.csdn.net/rryqsh/article/details/8274832 打包关心的问题有 1).Net版本检查  2)桌面和菜单栏的快捷方式 3)更换…
MSBuild入门 MSBuild是什么? MSBuild全称(Microsoft Build Engine),是用来生成.NET程序的平台.您可能不知道它,但是如果您在使用VS做开发,那么一定时时刻刻在使用它.因为是它在背后为你管理生成你的项目文件.当新建一个项目时,注意下项目文件夹中的*.*proj文件就是为MSBuild提供的,这是个文本文件,基于XML格式,里面包含有项目所包含的文件,生成配置,输出配置等信息.当把一个文件或者图片等添加到项目中,就会在这里添加一个描述,反之则删除一个描述…