net中的编译

1、MSBuild

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

MSBuild属性:   属性是一些键/值对,主要用来存储一些配置信息。

MSBuild  项:   主要是存储一些项目文件信息,以及文件的元数据信息(如版本号)。

MSBuild任务:   Build过程中的一些原子操作(如CSC 编译cs文件、MakeDir 创建目录)

MSBuild目标:   按特定的顺序将任务组织在一起,并允许在命令行单独指定各个部分。

命令行示例:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\msbuild.exe C:\task3\current\debugwf.oa.com.sln /t:Rebuild /p:Configuration=Release;OutDir=C:\task3\target\

示例说明:

MSBuild.exe [ProjectFile]

ProjectFile可以为sln或csproj

运行效果如下图:

2、aspnet_compiler.exe

新建web工程并且位置是文件系统的时候,vs2005只是帮你建好了一个sln文件,这个东西只是指引msbuild 如何进行编译的,过程是:ide 调用 msbuild ,msbuild解析sln文件,msbuild调用aspnet_compiler.exe进行网站的编译。所以aspnet_compiler.exe只是负责进行网站的编译的。

使用示例:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe  -v / -p  C:\task3\current\ C:\task3\target

示例说明:

aspnet_compiler.exe -p physicalOrRelativePath -v / targetPath -u

在这种情况下,physicalOrRelativePath参数是指网站文件所在的完全限定目录路径,或者相对于当前目录的路径。在 physicalOrRelativePath 参数中允许使用句点 (.) 运算符。-v 开关指定一个根目录,编译器将使用该目录来解析应用程序根目录引用,例如,用代字号 (~) 运算符。当您为 -v 开关指定值 / 时,编译器将使用物理路径作为根目录来解析路径。

targetPath 参数是目标目录的物理路径

2、CSC

编译 File.cs 以产生 File.dll:csc /target:library File.cs

参考资料:

https://msdn.microsoft.com/zh-cn/library/ms229863(v=vs.80).aspx ASP.NET 编译工具 (Aspnet_compiler.exe)

https://msdn.microsoft.com/zh-cn/library/ms227976(v=vs.80).aspx  如何:预编译 ASP.NET 网站以进行部署

http://www.cnblogs.com/l_nh/archive/2012/08/30/2662648.html  MSBuild入门

https://msdn.microsoft.com/zh-cn/library/s5c8athz(v=VS.80).aspx  Csc 任务

时间: 2024-10-29 08:33:07

net中的编译的相关文章

JSP中的编译指令和动作指令的区别

JSP中的编译指令和动作指令的区别 1.编译指令是通知Servlet引擎的处理消息,而动作指令只是运行时的脚本动作 2.编译指令是在将JSP编译成Servlet时起作用,而动作指令可替换成JSP脚本,是JSP脚本标准化写法

求救:如何在Eclipse IDE for C/C++ Developers中正确编译GTK程序?

出现错误信息如下,请问大牛该如何解决? 00:52:56 **** Incremental Build of configuration Debug for project Again **** make all  Building file: ../why.c Invoking: GCC C Compiler gcc "../why.c" -I/usr/include/glib-2.0 -I/usr/include/atk-1.0 -I/usr/include/gdk-pixbuf-

MAC OSX 中解决编译“'cc' failed with exit status 1”错误 和clang: error: unknown argument 错误

错误例子: error: command 'cc' failed with exit status 1 clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future] clang: note: this will be a hard error (cannot be downgraded to a warning) in the fu

MVC4 学习笔记 之 URL中存在编译的空格 20%20%

/Config/Edit/QQCC%20%20%20%20%20%20%20 原因是: 通过EF直接添加了空格? NO 是因为你的数据库字段设计问题,因为你当然设计如>:sID nchar(10) 那你一定想输入10个字符,但实际你只输入了必个,所以后面数据自动帮你补空了. 从EF数据库取出数据,在绑定的时候为安全,编码了,所以显示%20,代表一个空格. MVC4 学习笔记 之 URL中存在编译的空格 20%20%,布布扣,bubuko.com

JSP中的编译指令和动作指令的差别

JSP中的编译指令和动作指令的差别 1.编译指令是通知Servlet引擎的处理消息.而动作指令仅仅是执行时的脚本动作 2.编译指令是在将JSP编译成Servlet时起作用,而动作指令可替换成JSP脚本,是JSP脚本标准化写法

开源库Simd在vs2010中的编译及简单使用

Simd是开源的图像处理库,它提供了很多高性能的算法,这些优化算法主要由SIMD指令来实现,包括SSE.SSE2.SSSE3.SSE4.1.SSE4.2.AVX等,此库可以应用在windows/linux 32bit/64bit等系统中.此库更新较频繁.此库的license是MIT. 下面详细介绍其在vs2010中的编译及使用: 1.        从https://sourceforge.net/projects/simd/?source=typ_redirect下载最新版本simd.2.2.

C++头文件中预编译宏的目的

C++头文件中预编译宏的目的 eg: #ifndef _FACTORY_H_#define _FACTORY_H_......#endif //~_FACTORY_H_ 防止头文件被重复包含,导致变量或类型被重复定义 C++头文件中预编译宏的目的

FAAC1.28 在海思HI3520D/HI3515A平台linux中的编译 优化

FAAC1.28的下载地址:http://www.audiocoding.com/downloads.html 如何编译: 1../configure --host=arm-hisiv100nptl-linux --prefix=/home/ssy/lib 2.make 3.make install 优化 在不修改源码的情况下,faac的内存占用非常高,每路音频在13M左右.如果多路音频的话,内存将很快耗尽. 搜索MAX_CHANNELS的定义,默认是6 和64,全部改成1(一般都是单声道).

WebRtc 研究笔记1 Arch linux 环境中下载, 编译

开篇第一句,我觉得是最最重要的: 注意: WebRtc 源码的编译基础工作: 翻墙!  一定要在命令行, 让Git Svn 等命令访问到google的服务器,否则会出现各种异常 我的环境是 ArchLinux X64, 翻墙的方法: 1.各种VPN 2.修改hosts 3.各种代理服务器 ... 使用到的软件包 jdk 1.6 ( jdk1.7 无法编译), svn, git 环境变量: // /etc/profile # java export JAVA_HOME=/opt/jdk expor

VC中常见编译错误[转]

VC中常见编译错误(转载看看) 1)disable#pragma warning (disable: 4311 4312)     //指针类型强制转化,大小不完全匹配warning C4311: ''type cast'' : pointer truncation from ''TriNode *const '' to ''long''     warning C4312: ''type cast'' : conversion from ''unsigned int'' to ''SAC_No