1

ASP.Netサイトの1つで、AnkhSVNを使用して、ライブWebサイトを更新するためのコミット後フックを使用してVisualSVNサーバーにコミットします。

この設定は、Binディレクトリを除くすべてのディレクトリでうまく機能します。ソリューションをビルドすると、dllはサイトの/ Binに配置されますが、[保留中の変更]に表示されません。dllを選択した場合、右クリック->ステータスの更新、右クリック->コミット...コミットされますが、サイトの他の部分と一緒に/Binにあるdllをコミットできません。

私は何が間違っているのですか?

4

4 に答える 4

3

Visual Studio は、プロジェクトで参照されている dll をソースとは見なしません。したがって、それらはチェックインされることはなく、サイトの構築時に bin フォルダーにコピーされるだけです。

VS は .refresh ファイルを使用して、どの dll が参照されているかを認識し (.refresh ファイルの内容は元の dll を指します)、これらの更新ファイルはソースと見なされ、チェックインされます。サイトをデプロイする前にプロジェクトをビルドします。

Imo この種のタスクは、svn post commit ではなく、CruiseControl.NetTeamCityなどのビルド システムに属します。このようなシステムを簡単にセットアップして、svn リポジトリを監視し、ソリューションをコンパイルして、ビルドが成功したらライブ Web サイトに公開できます。

実際には、最初にテスト用のステージング サーバーに公開せずに、ライブ Web サイトに直接自動的に公開することはお勧めしません。ただし、ビルド システムにそれを実行させることもできます。

于 2009-10-19T22:20:14.803 に答える
2

AnkhSVN はライブラリやいくつかの追加ファイルを探しません!

ただし、手動モードで追加のファイルを SVN に追加できます。

  • Coose View -> Working Copy Explorer

  • 追加したいファイルを見つけて、[追加] をクリックします。

ここに画像の説明を入力

  • OKを押してください!

  • これで、「保留中の変更」ウィンドウにライブラリが表示されます。

于 2011-10-13T09:14:31.093 に答える
2

bin フォルダー内のファイルがバージョン管理下にあるかどうかを確認します (そうでない場合は svn add を実行できます)。もう 1 つの可能性は、bin ディレクトリ内のファイルがSubversion によって無視されていることです。その場合、それらを無視リストから削除する必要があります。

于 2009-10-20T00:05:25.453 に答える
0

Naderに同意します。おそらく、ファイルはソース管理下にありません。また、binファイル(実際にはビルドアイテムであるため)をソース管理に含めないことをお勧めします。ソースコードをバージョン管理下に置き、ビルドが完了したら適切にタグ付けして、必要なときに必要なバイナリを複製できるようにするだけで十分です。ビルドされたパッケージにタグを付けてバージョン管理する必要がある場合は、ビルドワークスペースでsvn statusを実行できます。ソース管理下にまだ含まれていないすべてのファイルが表示され、後ですべてを追加する小さなスクリプトを作成できます。

于 2009-10-20T03:20:50.710 に答える