FunChatmsbuild是什么文件夹夹

在名为Build的Target中添加如下属性:

Inputs属性指定该目标依赖的输入文件在这里由上面的Compile项所定义。Outputs指定项目的输出文件指定这两个属性之后,MSBuild就会在运行此目标的时候檢查输入和输出文件如果输入文件相对于输出文件都是最新的,那么MSBuild就会跳过构建过程如果有部分文件已经修改,MSBuild就会只对这部分文件运行构建目标

MSBuild依据csproj项目文件来进行构建。csproj文件中可以有多种节点

ItemGroup节点是项目组,可以有多个子节点 用来包含要处理的一個或多个文件。每个子节点都必须有Include属性指定要包含什么文件还有一个可选的Exclude节点指定排除什么文件。定义ItemGroup之后就可以利用@(节点名)来引用Item了。

PropertyGroup节点是属性组可以有多个节点,用来包含项目构建过程中使用到的属性定义了属性之后,可以使用$(属性名)语法来访问

Target是构建目标,是MSBuild的执行目标每个Target下面可以包含多个任务,还可以引用其他的Target构成一个执行链微软和C#社区定义了很多任务,可以分别在其和Φ找到

最后,我在Github上新建了一个项目演练了一下上面的概念。这个项目添加了一个AfterBuild目标在Release状态下构建成功之后,将生成的可执行文件重命名成自定义名称然后和第三方库以及一个配置文件打包生成zip压缩包。有兴趣的同学可以看一下

Engine),是用于构建应用程序的平台您可能不知道它,但是如果您在使用VS做开发那么一定时时刻刻在使用它。因为是它在背后为你管理生成你的项目文件当新建一个项目時,注意下项目文件夹中的*.*proj文件就是为MSBuild提供的这是个文本文件,基于XML格式里面包含有项目所包含的文件,生成配置输出配置等信息。当把一个文件或者图片等添加到项目中就会在这里添加一个描述,反之则删除一个描述信息;在项目属性页所做的配置也会在这里存儲

想去了解这个源于以前学WPF时的疑惑(当时就想从MSBuild下手了,一直没精力拖到现在),因为不知道XAML为何就跑到生成的程序集以及这个XAML標记最后变成什么,WPF是如何处理这些XAML标签与C#代码的一般写代码时我都会清楚的知道这个代码最后经由编译器变成了什么,这样心里比较底但是这个XAML,是看不透看不透就心里堵得慌,不踏实我比较喜欢刨根问底,所以就想到通过这个入口探个究竟

第一解决我上面说疑惑;

第二理解项目中这些文件是如何组织在一起并生成最终程序的(就像在WPF上Build是生成出来exe,而WP7则是出来一个XAP包为何?);

第三了解到为止以看懂理解为目的,不做深入研究

MSBuild有四个基本块(属性、项、任务、目标):

一句话总结MSBuild的作用:利用配置信息对项目文件实施特定順序的操作。

12 <!--MSBuild提供的一个内置任务用于生成记录信息用$(属性名)来引用属性的值-->

我要回帖

更多关于 msbuild是什么文件夹 的文章

 

随机推荐