Sends for the fellow dear visitors:welcome to dongpad!


 Welcome to DongPad!

 msn


ZT-一行命令搞定没有Visual Studio2003(2005)时的手动编译命令

起因:

有时可能会发生这样的情况,网站做好了,要在服务器上布署。布署中发现,有些地方代码需要小改,然而,在服务器或其他地方没有安装VS系列工具,但服务器上已安装有.net框架,此时仍然需要对已有项目的某些文件进行少量修改,并再次进行编译。此时,在服务器上安装VS系列开发工具并不可能,也不经济。那么下面的方法就可以派上用场了。

(1)将下面一行保存到你项目所在的目录下一个名为:buid.bat文件中:

%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe YourSolutionName.sln /t:Rebuild /p:Configuration=Release /l:FileLogger,Microsoft.Build.Engine;logfile=Build.log

关于buid.bat:前面名字可以随便取,后面一定是.bat,带bat后缀的是批处理文件。

(2)运行此buid.bat文件。

此时发现所在目录下多了PrecompiledWeb\工程名称\bin目录,下面有你需要的.dll。

(3)再COPY到你的相关网站目录下即可。

关于更多的MSBuild.exe命令及参数解释,这里就不多说,查一下MSDN或百度一下即可。

 

补充:有时候从网站上down的demo只有源码,但是又不想通过IDE打开,直接通过msbuild生成也是可以的。

语法: MSBuild.exe [options] [project file]
说明: 在项目文件中生成指定的目标。如果未指定项目文件,则 MSBuild 在当前工作目录中搜索扩展名以“proj”结尾的文件,并使用该文件。
开关:  

/help 

显示此用法信息。(缩写为: /? 或 /h)

/nologo  

不显示启动版权标志和版权信息。

/version  

仅显示版本信息。(缩写为: /ver)

@<file>  

在文本文件中插入命令行设置。若要指定多个响应文件,请分别指定每个响应文件。

/noautoresponse  

不要自动包括 MSBuild.rsp 文件。(缩写为:/noautorsp)

/target:<targets>

在此项目中生成这些目标。请使用分号或逗号分隔多个目标,或者分别指定每个目标。(缩写为: /t) 
示例:/target:Resources;Compile

/property:<n>=<v>

设置或重写这些项目级属性。<n> 为属性名,<v> 为属性值。请使用分号或逗号分隔多个属性,或者分别指定每个属性。(缩写为: /p)
示例:/property:WarningLevel=2;OutDir=bin\Debug\

/logger:<logger> 

使用此记录器记录 MSBuild 中的事件。若要指定多个记录器,请分别指定每个记录器。
<logger> 语法为:[<logger class>,]<logger assembly>[;<logger parameters>]
<logger class> 语法为:[<partial or full namespace>.]<logger class name>
<logger assembly> 语法为:{<assembly name>[,<strong name>] | <assembly file>}
<logger parameters> 是可选的,并按键入的形式原样传递给记录器。(缩写为: /l)
示例:/logger:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral
     /logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML

/verbosity:<level>

在事件日志中显示此级别的信息量。可用的详细级别有: q[uiet]、m[inimal]、n[ormal]、d[etailed] 和 diag[nostic]。(缩写为: /v)
示例:/verbosity:quiet

/console

logger

parameters:<parameters>

控制台记录器的参数。(缩写为: /clp)

可用的参数有:
     PerformanceSummary - 显示任务、目标和项目中花费的时间。
     NoSummary - 不在末尾显示错误和警告摘要。
     NoItemAndPropertyList - 不在每个项目生成的开始显示项和属性的列表。
  示例:/consoleloggerparameters:PerformanceSummary;NoSummary

/noconsolelogger 

禁用默认的控制台记录器并且不将事件记录到控制台。(缩写为: /noconlog)

/validate 

  根据默认架构验证项目。(缩写为: /val)

/validate:<schema>

  根据指定架构验证项目。(缩写为: /val)
  示例:/validate:MyExtendedBuildSchema.xsd

示例: MSBuild MyApp.sln /t:Rebuild /p:Configuration=Release
        MSBuild MyApp.csproj /t:Clean /p:Configuration=Debug



评论: 0 | 引用: 0 | 查看次数: 913 | 返回顶部
发表评论
昵 称:    
验证码:   
 
内 容:
选 项:  
 
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 500 字 | UBB代码 开启 | [img]标签 开启