16

最近、Windows Server 2008 R2 上で動作する VS2010 および .NET 4.0 を使用するために、かなり大規模な ASP.NET Web サイト (〜 1500 番目の alexa トラフィック ランキング) を更新しました。

それ以来、サイトの新しいバージョンを展開すると、この投稿で同じエラーに気付くことがありました: ASP.Net は作成/シャドウ コピーを実行 できません エラー メッセージは次のとおりです: 'xxxx, Version=4.0.4301.26898, Culture= を作成/シャドウ コピーできませんニュートラル、PublicKeyToken=null' そのファイルが既に存在する場合

ただし、その投稿とは異なり、エラーは実稼働環境と一部のサーバーでのみ発生しています。

コードの新しいバージョンを出荷した後、すべての AppPools をリサイクルすると、エラーが発生し始めます。

さらに AppPool をリサイクルすると問題が解決するようですが、そもそもこの問題を回避する方法を知りたいですか?

4

2 に答える 2

4

「コピーを作成/シャドウできない」問題をようやく解決しました。この問題は、AppPoolのリサイクルとディレクトリのコピーのタイミングが原因であることが判明しました。それは次のように機能しました:

  1. メインのWebサイトをserver\directoryにコピーします
  2. ウェブサイトのアプリプールをリサイクルする
  3. 小さな管理サイトをserver\otherdirectoryにコピーします

問題は、管理サイトがメインサイトの仮想ディレクトリであり、同じAppPoolを使用していたことでした。これは.NET2.0で正常に機能しましたが、.NET4.0にアップグレードしたときの障害を特定できると思います。代わりにこの方法で実行すると、正常に実行されるようです。

  1. メインのWebサイトをserver\directoryにコピーします
  2. 小さな管理サイトをserver\otherdirectoryにコピーします
  3. ウェブサイトのアプリプールをリサイクルする
于 2011-11-28T23:28:21.910 に答える
4

インデックス作成 (およびウイルス スキャン) から一時的な asp.net フォルダーを除外すると、シャドウ コピー エラーが解消されることがわかりました。

Windows Server 2003 上のインデックス サービス用の PowerShell スクリプトの例:

Set-ItemProperty –パス

HKLM:\SYSTEM\CurrentControlSet\Control\ContentIndex\Catalogs\Web\Scopes -name “C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files” -値 ",,4"

再起動サービス cisvc

于 2011-11-11T14:03:35.113 に答える