21

ソース管理としてTFSを使用し、.NET4.0を使用して開発されたAJAXを多用するASP.NETWebアプリケーションがあります。最近、開発ツールをVS2010とTFS 2010のみを使用するようにアップグレードしましたが、ファイルがチェックアウトされるたびに、Visual Studioがすべてのシンボルを再読み込みし、すべてのセッションがドロップされます。

エラーログコードを入力した後、リサイクルの理由は、チェックアウトするたびにApp_offline.htmが変更されていると見なされていることを発見しました。これはプロジェクトのどこにも存在しません。私のSO-fuは、SQL Expressがこのファイルを作成および削除するための情報を見つけたので、ここで起こっている可能性があります。

SQL-Expressがインストールされているように見えますが、実行中のサービスを無効にしても、問題は解決しません。

これが実際に起こっていることである場合、チェックアウトがこのファイルを追加/削除するのを止める方法はありますか?ファイルをチェックアウトするだけでアプリをリサイクルするのはイライラすることではありません...

4

3 に答える 3

14

回避策を発見しました。

1)Visual Studioがapp_offline.htmファイルをキャッシュする場所に移動しますC:\ Users [user] \ AppData \ Roaming \ Microsoft \ VisualStudio \ 11.0 \([user]をユーザー名に置き換えます)

2)app_offline.htmファイルを削除します

(注:ファイルが見つからない場合、VSはファイルを再生成するため、これだけでは解決しません)

3)app_offline.htmというディレクトリを作成します(ディレクトリ!)

これは基本的に、ファイルではなくファイルを使用しようとするプロセスでエラーを引き起こします。名前の衝突は、VSがファイルの再作成を試行できないことを意味します。幸い、エラーには望ましくない副作用はありません。

VSとTeamFoundationServerの使用を継続し、appdomainが常にリロードされないようにしてください。

もちろん、これは、公開プロセスがapp_offline.htmファイルを使用しない可能性があることを意味するため、注意を払う必要があります。

于 2013-06-05T06:43:03.103 に答える
1

私にも問題があるので、それを突き止めようと決心しました。最初に、データベース接続がオフラインで、サーバーエクスプローラーの[更新]ボタンをクリックすると、Webサイトのルートにapp_offlineファイルが作成され、削除されることがわかりました。何度か再現しました。

サーバーエクスプローラーには実際に3つのデータベース接続があります。リモートSQLサーバー上のデータベースへの実際の接続である2つの接続を切断すると、更新時にapp_offlineファイルが生成されません。LOCAL .MDFファイルから切断してから更新した場合にのみ、app_offlineファイルが生成されます(これにより、その.mdfファイルに再接続され、切断された赤いXが消えます)。案の定、そのローカルデータベースに再接続するたびに、app_offline.htmファイルがごみ箱に表示されます。

さらに一歩進んで、ローカルデータベース(.mdfファイル)をデタッチし、ファイルをデスクトップに移動しました。その後、VS2010を再起動しましたが、エラーを再現できませんでした。ファイルを元に戻し、接続を再確立して、app_offlineの取得を再開しました。次に、SQLExpressサービスを無効にし、他のエラーが発生しましたが、SQLExpressサービスを無効にしても、ごみ箱にapp_offlineが含まれています。

したがって、私の答えは、可能であれば.mdfローカルデータベースを削除することだと思います。リモートでコードを処理しているときにローカルデータベースが必要になるため、これは適切なオプションではありませんが、ローカルデータベースが必要ない場合は、それらを削除してみてください。

注:私はVS2010(場合によってはVS2008)とSQLExpress2008RSを使用しています。TFSは使用していません。

于 2010-12-07T08:11:44.267 に答える
0

たぶん、誰かがファイルapp_offlineにチェックインし、プロジェクトを取得すると、ファイルが届きます。ソースリポジトリを見てください。

于 2010-12-02T19:31:18.273 に答える