2009-01-10 77 views

回答

8

visual studio publish命令重建您的解决方案,然后将解决方案目录中的文件复制到新目录。我使用以下目标几乎相同:

<target name="copyToPublish"> 
    <delete dir="${dir.publish}" /> 
    <mkdir dir="${dir.publish}" /> 
    <mkdir dir="${dir.publish}\wwwroot"/> 
    <copy todir="${dir.publish}\wwwroot" includeemptydirs="false"> 
     <fileset basedir="${website.dir}"> 
     <exclude name="**/*.cs"/> 
     <exclude name="**/*.pdb"/> 
     <exclude name="**/*.csproj*"/> 
     <exclude name="**/obj/**"/> 
     <include name="**/*.*"/> 
     </fileset> 
    </copy> 
    <mkdir dir="${dir.publish}\database"/> 
    <copy todir="${dir.publish}\database" includeemptydirs="false"> 
     <fileset basedir="${dir.databasescripts}"> 
     <include name="**/*.sql" /> 
     </fileset> 
    </copy> 
    <xmlpoke 
      file="${dir.publish}\wwwroot\Web.config" 
      xpath="/configuration/system.web/compilation/@debug" 
      value="false" /> 
    <xmlpoke 
      file="${dir.publish}\wwwroot\Web.config" 
      xpath="/configuration/system.web/trace/@enabled" 
      value="false" /> 
    <move file="${dir.publish}\wwwroot\Web.config" tofile="${dir.publish}\wwwroot\Release.config" overwrite="true" /> 
    <delete file="${dir.publish}\wwwroot\Web.config" /> 
</target> 

在此目标之前,您必须运行正常的构建过程当然。

+0

这只会复制DLL而不是网页 – Khash 2009-04-24 22:31:45

3

有一个Ftp Task nant。 除此之外,您必须创建一个脚本来复制您需要的文件和目录以及配置文件。我不会自动执行此操作,因为我想控制数据库更新脚本和web.config中的更改。

相关问题