MSBuild 和项目文件
Microsoft 生成引擎(MSBuild)项目文件位于生成和部署过程的核心。 本主题以 MSBuild 和项目文件的概念性概述开头。 它介绍了在处理项目文件时将遇到的关键组件,并通过一个示例来演示如何使用项目文件来部署真实的应用程序。
学习内容:
- MSBuild 如何使用 MSBuild 项目文件来生成项目。
- MSBuild 如何与部署技术(如 Internet Information Services (IIS) Web 部署工具(Web 部署))集成。
- 如何了解项目文件的关键组件。
- 如何使用项目文件来构建和部署复杂的应用程序。
MSBuild 和项目文件
在 Visual Studio 中创建和生成解决方案时,Visual Studio 使用 MSBuild 在解决方案中生成每个项目。 每个 Visual Studio 项目都包含一个 MSBuild 项目文件,其中包含一个文件扩展名,用于反映—项目类型(例如C# ,项目(.Csproj))、Visual Basic.NET 项目(.vbproj)或数据库项目(.dbproj)。 为了生成项目,MSBuild 必须处理与项目关联的项目文件。 项目文件是一个 XML 文档,其中包含 MSBuild 生成项目所需的所有信息和说明,如要包含的内容、平台要求、版本信息、web 服务器或数据库服务器设置,以及必须执行的任务。
MSBuild 项目文件基于MSBUILD XML 架构,因此,生成过程是完全开放且透明的。 此外,无需安装 Visual Studio 即可使用 MSBuild 引擎—,而 msbuild 可执行文件是 .NET Framework 的一部分,你可以在命令提示符下运行它。 作为开发人员,您可以使用 MSBuild XML 架构来创建自己的 MSBuild 项目文件,以对项目的生成和部署方式进行完善且精细的控制。 这些自定义项目文件的工作方式与 Visual Studio 自动生成的项目文件的工作方式完全相同。
MSBuild 和项目文件的更多相关文章
- msbuild 项目文件常用判断条件
在写项目文件的时候,需要根据不同的条件定义或执行不同的代码,有一些比较常使用的判断,本文收藏起来,方便大家找 在 msbuild 的项目文件 cspoj 或 xx.target 等文件里面,可以使用 ...
- MSBuild简单介绍
背景 托博客园的福,上周六,有家开发医疗行业系统的初创公司联系我,说在博客园上看到我关于WPF的几篇文章,邀请我去他们那里交流WPF相关的技术知识和心得体会.作为非大拿的我自然是受宠若惊,但对方好意相 ...
- Visual Studio 2017 以前的旧格式的 csproj Import 进来的 targets 文件有时不能正确计算属性(PropertyGroup)和集合(ItemGroup)
我在之前的博客中有教大家如何编写 NuGet 工具包,其中就有编写 .targets 文件. 我在实际的使用中,发现 Visual Studio 2017 带来的含 Sdk 的新 csproj 格式基 ...
- 2019-11-29-msbuild-项目文件常用判断条件
title author date CreateTime categories msbuild 项目文件常用判断条件 lindexi 2019-11-29 08:36:48 +0800 2019-7- ...
- 2019-8-31-msbuild-项目文件常用判断条件
title author date CreateTime categories msbuild 项目文件常用判断条件 lindexi 2019-08-31 16:55:59 +0800 2019-7- ...
- 使用MSBuild Tools调用csproj项目文件发布网站时$(SolutionDir)宏参数值丢失为空的解决方案
使用Visual Studio打开解决方案,对<网站项目>右键点击<发布>,一切都是正常的,所有宏都可用,宏参数值也是正确的. 而通过批处理脚本命令调用MSBuild.exe对 ...
- 项目文件包含 ToolsVersion="12.0" 设置,而此版本的 MSBuild 不支持该工具版本
解决方法: 右键点击你的项目,选择属性,再点击配置属性中的常规,常规中有个平台工作集,把V120改成V100,点击应用即可.
- 认识ASP.NET 5项目结构和项目文件xproj
ASP.NET 5 在项目结构上做了很大的改变,我们以前熟悉的目录结构与项目文件内容都不太一样了,本篇文章带大家了解 ASP.NET 5 到底跟以前有哪些不一样的地方. 我们先用 Visual Stu ...
- MSBuild 编译 C# Solution
Microsoft(R) 生成引擎版本 4.6.1055.0 [Microsoft .NET Framework 版本 4.0.30319.42000] 版权所有 (C) Microsoft Corp ...
随机推荐
- 1000粉!使用Three.js制作一个专属3D奖牌🥇
背景 破防了 !突然发现 SegmentFault 平台的粉丝数量已经突破 1000 了,它是我的三个博客平台掘金.博客园.SegmentFault中首个粉丝突破 1000 的,于是设计开发这个页面, ...
- golang中接口详解
package main import ( "fmt" ) type Sayer interface { say() } type Mover interface { move() ...
- golang中往脚本传递参数的两种用法os.Args和flag
1. os.Args package main import ( "fmt" "os" ) func main() { // 执行:./demo.exe 127 ...
- 如何使用iconfont的CDN
如何使用iconfont的CDN iconfont作为阿里的图标库,在开发过成功用的已经是非常广泛了,但iconfont并不需要将图标下载后使用,而是可以直接用cdn引入使用,至于使用流程,请看下文. ...
- socket编程(struct报头)网络编程
目录 一:socket编程 1.简介 2.参数说明: 3.socket套接字方法 4.socket编程思路: 二:socket套接字编程 1.socket简易版编程 2.通信循环 三:通信循环及代码优 ...
- python 小兵(8)闭包和装饰器
闭包"是什么,以及,更重要的是,写"闭包"有什么用处. (个人理解) 1."闭包"是什么 首先给出闭包函数的必要条件: 闭包函数必须返回一个函数对象 ...
- 如何把一个数组中的对象的key值相等的对象合成一个对象
比如这样一个数组:[{category:"中国梦",value:"10000"},{category:"有国才有家",value:" ...
- Spring Security过滤器链体系
以下摘自胖哥分享的 2022开工福利教程. 在学习Spring Security的时候你有没有下面这两个疑问: Spring Security的登录是怎么配置的? Spring Security的访问 ...
- Spring中NESTED和REQUIRED_NEW传播行为的区别
简介 PROPAGATION_REQUIRED_NEW: 表示当前方法必须运行在它自己的事务中.一个新的事务将被启动.如果存在当前事务,在该方法执行期间,当前事务会被挂起.如果使用JTATransac ...
- iOS 学习资料Blog 技术论坛等,不断添加中。。。。
iOS 学习资料整理 http://www.jianshu.com/p/dc81698a873c 中文 iOS/Mac 开发博客列表 https://github.com/tangqiaobo ...