<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title>DongPad</title><link>http://www.dongpad.com</link> <description>Every day is a new beginning!</description><copyright>2.0 beta 03</copyright> <language>zh-cn</language><item><title>ZT-一行命令搞定没有Visual Studio2003(2005)时的手动编译命令</title><description><![CDATA[<p><strong>起因：</strong></p>  <p>有时可能会发生这样的情况，网站做好了，要在服务器上布署。布署中发现，有些地方代码需要小改，然而，在服务器或其他地方没有安装VS系列工具，但服务器上已安装有.net框架，此时仍然需要对已有项目的某些文件进行少量修改，并再次进行编译。此时，在服务器上安装VS系列开发工具并不可能，也不经济。那么下面的方法就可以派上用场了。</p>  <p><strong>（1）将下面一行保存到你项目所在的目录下一个名为：buid.bat文件中：</strong></p>  <p>%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe YourSolutionName.sln /t:Rebuild /p:Configuration=Release /l:FileLogger,Microsoft.Build.Engine;logfile=Build.log</p>  <p>关于buid.bat：前面名字可以随便取，后面一定是.bat，带bat后缀的是批处理文件。</p>  <p><strong>（2）运行此buid.bat文件。</strong></p>  <p>此时发现所在目录下多了PrecompiledWeb\工程名称\bin目录，下面有你需要的.dll。</p>  <p><strong></strong></p>  <p><strong>（3）再COPY到你的相关网站目录下即可。</strong></p>  <p><strong></strong></p>  <p>关于更多的MSBuild.exe命令及参数解释，这里就不多说，查一下MSDN或百度一下即可。</p>  <p>&#160;</p>  <p>补充:有时候从网站上down的demo只有源码，但是又不想通过IDE打开，直接通过msbuild生成也是可以的。</p>  <table cellspacing="0" cellpadding="0" width="700" border="1"><tbody>     <tr>       <td valign="top" width="58">语法:</td>        <td valign="top" width="689">MSBuild.exe [options] [project file]</td>     </tr>      <tr>       <td valign="top" width="58">说明:</td>        <td valign="top" width="689">在项目文件中生成指定的目标。如果未指定项目文件，则 MSBuild 在当前工作目录中搜索扩展名以“proj”结尾的文件，并使用该文件。</td>     </tr>      <tr>       <td valign="top" width="58">开关:</td>        <td valign="top" width="689">&#160;</td>     </tr>      <tr>       <td valign="top" width="58">         <p>/help&#160; </p>       </td>        <td valign="top" width="689">显示此用法信息。(缩写为: /? 或 /h)</td>     </tr>      <tr>       <td valign="top" width="58">         <p>/nologo&#160;&#160; </p>       </td>        <td valign="top" width="689">不显示启动版权标志和版权信息。</td>     </tr>      <tr>       <td valign="top" width="58">         <p>/version&#160;&#160; </p>       </td>        <td valign="top" width="689">仅显示版本信息。(缩写为: /ver)</td>     </tr>      <tr>       <td valign="top" width="58">         <p>@<file>&#160;&#160; </p>       </td>        <td valign="top" width="689">         <p>在文本文件中插入命令行设置。若要指定多个响应文件，请分别指定每个响应文件。</p>       </td>     </tr>      <tr>       <td valign="top" width="58">         <p>/noautoresponse&#160;&#160; </p>       </td>        <td valign="top" width="689">不要自动包括 MSBuild.rsp 文件。(缩写为:/noautorsp)</td>     </tr>      <tr>       <td valign="top" width="58">         <p>/target:<targets> </p>       </td>        <td valign="top" width="689">         <p>在此项目中生成这些目标。请使用分号或逗号分隔多个目标，或者分别指定每个目标。(缩写为: /t)&#160; <br />示例:/target:Resources;Compile</p>       </td>     </tr>      <tr>       <td valign="top" width="58">         <p>/property:<n>=<v></p>       </td>        <td valign="top" width="689">         <p>设置或重写这些项目级属性。<n> 为属性名，<v> 为属性值。请使用分号或逗号分隔多个属性，或者分别指定每个属性。(缩写为: /p)            <br />示例:/property:WarningLevel=2;OutDir=bin\Debug\</p>       </td>     </tr>      <tr>       <td valign="top" width="58">         <p>/logger:<logger>&#160; </p>       </td>        <td valign="top" width="689">         <p>使用此记录器记录 MSBuild 中的事件。若要指定多个记录器，请分别指定每个记录器。            <br /><logger> 语法为:[<logger class>,]<logger assembly>[;<logger parameters>]             <br /><logger class> 语法为:[<partial or full namespace>.]<logger class name>             <br /><logger assembly> 语法为:{<assembly name>[,<strong name>] | <assembly file>}             <br /><logger parameters> 是可选的，并按键入的形式原样传递给记录器。(缩写为: /l)             <br />示例:/logger:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral             <br />&#160;&#160;&#160;&#160; /logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML</p>       </td>     </tr>      <tr>       <td valign="top" width="58">         <p>/verbosity:<level> </p>       </td>        <td valign="top" width="689">         <p>在事件日志中显示此级别的信息量。可用的详细级别有: q[uiet]、m[inimal]、n[ormal]、d[etailed] 和 diag[nostic]。(缩写为: /v)            <br />示例:/verbosity:quiet</p>       </td>     </tr>      <tr>       <td valign="top" width="58">         <p>/console</p>          <p>logger</p>          <p>parameters:<parameters></p>       </td>        <td valign="top" width="689">控制台记录器的参数。(缩写为: /clp)          <p>可用的参数有:            <br />&#160;&#160;&#160;&#160; PerformanceSummary - 显示任务、目标和项目中花费的时间。             <br />&#160;&#160;&#160;&#160; NoSummary - 不在末尾显示错误和警告摘要。             <br />&#160;&#160;&#160;&#160; NoItemAndPropertyList - 不在每个项目生成的开始显示项和属性的列表。             <br />&#160; 示例:/consoleloggerparameters:PerformanceSummary;NoSummary</p>       </td>     </tr>      <tr>       <td valign="top" width="58">         <p>/noconsolelogger&#160; </p>       </td>        <td valign="top" width="689">         <p>禁用默认的控制台记录器并且不将事件记录到控制台。(缩写为: /noconlog) </p>       </td>     </tr>      <tr>       <td valign="top" width="58">         <p>/validate&#160; </p>       </td>        <td valign="top" width="689">         <p>&#160; 根据默认架构验证项目。(缩写为: /val) </p>       </td>     </tr>      <tr>       <td valign="top" width="58">         <p>/validate:<schema> </p>       </td>        <td valign="top" width="689">         <p>&#160; 根据指定架构验证项目。(缩写为: /val)            <br />&#160; 示例:/validate:MyExtendedBuildSchema.xsd</p>       </td>     </tr>   </tbody></table>  <p>示例: MSBuild MyApp.sln /t:Rebuild /p:Configuration=Release   <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; MSBuild MyApp.csproj /t:Clean /p:Configuration=Debug</p>]]></description><author>Jack</author><link>http://www.dongpad.com/CSharp-20091125-235.html</link><pubdate>2009-11-25 15:04:28</pubdate></item></channel></rss>
