2

.batASP.NET アプリの展開/ビルド プロセスを改善するために、それを作成したいと思います。

  • 現在のソリューションをリリース モードでビルドします
  • xcopyリモートサーバーへのファイル

コマンド ラインからリリース ビルドを作成するのは簡単です。

しかし、どうすればファイルをリモート サーバーに xcopy できますか?

リモート宛先をネットワーク ドライブ (?) にマップする必要があると思います。ただし、サーバー上のフォルダーのファイル共有を有効にしましたが、リモート サーバーに接続できませんでした。ファイアウォールがリクエストをブロックしている可能性がありますか?どのポートを開く必要がありますか? それとも別の解決策がありますか?

編集

これまでのすべての回答に感謝しますが、サーバーでフォルダー共有を設定する方法についてのステップバイステップガイドが必要になるでしょう. フォルダーを共有し、サーバーに接続できるようにポート 445 を開きましたが、ネットワーク パスをシステム ドライブにマップするためにローカル マシンからサーバーに接続できません。

4

8 に答える 8

3

ASP.Netサイトを展開しているので、Windows環境にいると想定しています(賢くないですか?:))。
それで !.batを忘れて、POWERSHELLに行きましょう!

とにかく、これはあなたの質問のポイントではありません...リモートフォルダにコピーするには、リモートコンピュータでコピーする権限が必要です。

ローカルコンピューターとリモートコンピューターに同じアカウントがあるかどうかを確認します。たとえば、ドメイン「Work」のローカルコンピュータにログイン「Pipo」でログオンしている場合、リモートコンピュータの特別なフォルダに書き込むには、このアカウントに権限を付与する必要があります。

これは、フォルダを右クリックしてセキュリティオプションを選択し、正しいIDを選択することで実現できます。

ステップバイステップガイドは次のとおりです。

http://support.microsoft.com/kb/301281

于 2009-11-26T15:12:12.593 に答える
3

UNCパス経由でXCOPYでファイルを移動する価値があるかもしれません

\\マシン\フォルダ

これには、元のサーバーからフォルダーにアクセスできる必要があります。フォルダが共有されていること、および関連する読み取り/書き込み権限が付与されていることを確認してください。

于 2009-11-26T10:28:10.243 に答える
1

If the server is on your local network, I'd suggest using robocopy instead of xcopy - it has many more useful options and capability to retry on errors. It handles UNC names just fine (as I believe xcopy does too). I think it's available on newer Windows clients - if it's not on your machine Google for it - it's available in various resource kit downloads (I don't know the details of if/when Microsoft started including it in the OS distribution because I've had it in my utility kit for a long, long time now).

If the server isn't local, you can script the command line FTP client to perform the transfer. If you need additional flexibility or security there are many other file transfer options, including WinSCP.

Of course in either case (local or remote server), the server's permissions and your authentication needs to be set up properly for this to have a chance to work.

于 2009-11-26T10:34:46.040 に答える
1

You can use any UNC path: \\machine\sharedFolder. If you don't want to set up a shared folder, you can reference any of the drives on the machine using a $ sign: \\machine\c$\program files\etc. If your machines are in Active Directory, or if you have a local user on the target machine with the same username AND password Windows will handle the authentication seamlessly.

于 2009-11-26T10:34:51.470 に答える
0

解き放ってみましたか?

http://www.eworldui.net/unleashit/

ネットワーク間でファイルを移動したり、ビルド前のバット ファイルを実行したり、ファイル マスキングなどを実行したりできます。

以前は .net 1.1 プロジェクトで使用していました。

于 2009-11-26T10:30:35.153 に答える
0

私はあなたが欲しいと思います:

XCOPY c:\myproject\build\*.* \\server\\build\ /S /E
于 2009-11-26T10:41:01.337 に答える
0

上記のすべてが壮大な答えのようです.msbuildスクリプトとmsbuildコミュニティタスクを使用してこれらすべてを行うことができます.ビルドを圧縮してリモートサーバーにftpできます.

サイトの 1 つにこれをセットアップしたところ、理解するのに数時間かかりましたが、リリースでサイトを構築し、運用用の構成ファイルを更新し、不要なファイルを削除してからアップロードを行います。

于 2009-11-26T10:46:26.587 に答える