8

nant に mvc プロジェクトまたは古き良き Web アプリケーション プロジェクトでパブリッシュを実行させ、パブリッシュ
後にファイルを Web サーバーに FTP で送信することは可能ですか?

更新: ftp 問題の解決策を見つけました
Nant ftp taskありがとう Paco


publicとは、visual studio publish のように公開できるコマンド ライン アプリケーションまたは nant タスクがあることを意味します...

4

2 に答える 2

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>

もちろん、このターゲットの前に、通常のビルド手順を実行する必要があります。

于 2009-01-10T15:55:23.793 に答える
3

nant 用のFtp タスクがあります。それに加えて、必要なファイルとディレクトリ、および構成ファイルをコピーするスクリプトを作成する必要があります。データベースの更新スクリプトと web.config の変更を制御したいので、自動的には行いません。

于 2009-01-10T12:43:26.397 に答える