3

TortoiseSVNとVisualSVNでASP.NETWeb展開プロジェクトを使用していますが、これはSubversionで生成されたファイルに関する一般的な質問です。

Web配置プロジェクトは、すべてのコードを取り除き、単一のアセンブリにコンパイルしたWebサイトの並列「配置」バージョンを自動的に生成します。私のファイル構造は次のとおりです。

  • トランク
  • トランク/MyProject(ウェブサイトルート)
  • Trunk / MyProject_deploy(デプロイメントプロジェクトルート)
  • Trunk / MyProject_deploy / Release(デプロイメントWebサイトのルート、自動生成)

問題は次のとおりです。MyProject_deploy/Releaseはビルド時に再生成されます(リリースモード)。ディレクトリが削除されて再作成されるため、すべての.svnメタデータが失われます。コミットしようとすると、ステータスが「Obstructed」になります。これは、検索したもので、サーバー上の管理フォルダーと同じ名前の管理されていないローカルフォルダーがあることを意味します。

(Releaseフォルダーは無視できますが、Subversionサーバーから直接FTP展開を実行したいと思います。)

Subversionで自動生成されたファイルを処理するための最良の方法は何ですか?

4

3 に答える 3

14

svn:ignore プロパティを設定します。それらをバージョン管理システムに追加しないでください。ビルド プロセスによって生成されたものは、そこには属しません。そこに属するものは、ビルド プロセスを完了するために必要なものです。

CruiseControl.NET のような継続的インテグレーション サーバーをミックスに追加することをお勧めします。ソースからプロジェクトをビルドし、そこからデプロイできます。これにより、1 つではなく 2 つのベスト プラクティスを使用する立場になり、それでも問題を解決できます。

于 2009-04-24T18:35:52.377 に答える
1

これは、セットアッププロジェクトを使用してWindowsインストーラー出力を作成する場合にも問題になります。

1つのオプションは、出力ファイル名を変更して、生成されたファイルが「リリース」と呼ばれるサブフォルダーではなく、デプロイメントプロジェクトのルートにダンプされるようにすることです。

セットアッププロジェクトの場合、単一のMSIファイルを生成していましたが、これはうまく機能しました。フォルダーが削除/再作成されていないため、SVNエラーは発生せず、展開プロジェクトのルートフォルダーに2つのファイルしかないためクリーンです。

于 2009-11-22T12:54:42.927 に答える
1

Visual Studio を使用している場合、ビルド前とビルド後のイベントを定義して、ビルド前にリリースから .svn ディレクトリ (または複数のディレクトリ) を移動し、その後に戻すことはできますか?

于 2009-04-24T18:34:14.207 に答える