2009-05-28 41 views
8

Windows 2003、IIS 6サーバに標準のWebサービスをインストールしました。私がブラウザを使ってWebサービスの誰かにアクセスすると、例外がある.NET黄色の画面が表示されます:"ファイルはあらかじめコンパイルされておらず、要求できません"

ファイル '/SuperOfficeWebService/Contact.asmx'は事前コンパイルされていないため、要求できません。

同じ標準のWebサービス(.msiを使用してインストール)は、他のマシンでも動作します。

.asmxファイルには、「これはプリコンパイルツールで生成されたマーカーファイルなので、削除しないでください!」というテキストのみが含まれています。

bin \サブフォルダには、.asmxファイルと一致する.compiledファイルがあります。

エラーメッセージの原因は何ですか?すべてのIIS設定、またはIISがコンパイル済みファイルをロードできないようにする.NET 2.0設定?

答えて

2

場合、私は同じ問題を抱えていました。私の問題は、間違ったフレームワークフォルダから 'aspnet_compiler'を使用していたことでした。私のプロジェクトはVS'05と.net 2.0で作成されました。 "c:... \ v2.xxxx"からプリコンパイルする必要があるときに、 "c:¥windows¥Microsoft .NET¥Framework¥v4.xxxx"からプリコンパイルしようとしていました。

誰かを助ける希望。

0

私は同じ問題を抱えており、次のコマンドを実行して正しいコンパイラとIISを再関連付けして解決しました。使用する.NETのバージョンのフォルダ(例:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727)へ

ゴー

そして実行します。このことができますaspnet_regiis -i

希望。

0

MSBuildスクリプトを実行しているときにこの問題が発生する場合は、プロジェクトが2.0または3.5プロジェクトであり、MSBuildが4.0コンパイラを使用している可能性があります。 AspNetCompilerディレクティブにTargetFrameworkMoniker="3.5"を追加してください。

1

私は同じメッセージを持っていましたが、Webサービスはありませんでした。私の場合、それはAJAX Control Toolkit v1.0.61025を使用するバニラASP.NET 2.0 Webアプリでした。

<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
<add assembly="System.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
  • :タグは2つの行を欠落していた

    • 「アセンブリ」:私はそれを追跡したとき、私は私のweb.configファイルから2つの要素を取り除い私の環境(VSまたは私のアドオンの1)を見つけ

      はまた、 "のsystem.web" セクションからこれらの行された行方不明:私は、XCOPYの展開と使用を

      <httpHandlers> 
          <remove verb="*" path="*.asmx"/> 
          <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
          <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
          <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/> 
      </httpHandlers> 
      <httpModules> 
          <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
      </httpModules> 
      

    やっています開発とライブ(接続文​​字列など)の違いを制御するweb.configVSで公開した後(私の開発ボックスのフォルダに)、私はweb.configを削除します(私の開発者の設定があるので)。ライブで同じweb.configを使い続けます。ライブweb.configにはこのような行がありませんでしたので、私はweb.configに対してコンパイルしていましたが、これは単にいくつかのappキー値以上の違いがありました。

    私の開発環境でこれらの行を復元し、再発行することで問題が解決されました。 Whoa、彼らは私のVS 2010からもう一度姿を消してしまった。

  • 0

    ここでは、サイトを再作成した後にこのメッセージが表示されています。サイトのファイルは.NET 4.0.3を使用してコンパイルする必要があり、IISのデフォルトは2.0.5でした。サイト>プロパティ> ASP.NETでASP.NETのバージョンを変更する必要がありました。

    0

    Microsoft.WebServices3.dll 3.0.5305.0を展開しているBinは、.NET Framework 4.5以降のWindows Server 2012 R2で私の仕事をしてくれました。このオプションは、.Net Framework 3.5とWSE 3.0をインストールする必要性を軽減します。

    関連する問題