2009-05-28 2 views
8

Windows 2003, IIS 6 서버에 표준 웹 서비스 세트를 설치했습니다. 브라우저를 통해 웹 서비스에 액세스 할 때 예외가있는 .NET 노란색 화면이 나타납니다."파일이 미리 컴파일되지 않아서 요청할 수 없습니다"

'/SuperOfficeWebService/Contact.asmx'파일은 미리 컴파일되지 않았으므로 요청할 수 없습니다.

동일한 표준 웹 서비스 (.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"에서 프리 D 파일하려고 시도했습니다.

누군가를 돕는 희망.

0

동일한 문제가있어서 다음 명령을 실행하여 IIS와 올바른 컴파일러를 다시 연결하여 문제를 해결했습니다. (: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 예)

을 그리고 실행이 도움이 aspnet_regiis -i

희망을 사용할 .NET 버전의 폴더에

이동합니다.

0

MSBuild 스크립트를 실행할 때이 문제가 발생하면 프로젝트가 2.0 또는 3.5 프로젝트이고 MSBuild가 4.0 컴파일러를 사용하고있을 가능성이 있습니다. AspNetCompiler 지시문에 TargetFrameworkMoniker="3.5"을 추가하십시오.

1

동일한 메시지가 있지만 웹 서비스가 없습니다. 제 경우에는 AJAX Control Toolkit v1.0.61025를 사용하는 바닐라 ASP.NET 2.0 웹 앱이었습니다.

<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"/> 
  • : 태그는 두 줄 누락 된

    • "어셈블리": 나는 그것을 아래로 추적 할 때, 난 내 Web.config의 두 요소를 제거 내 환경 (VS 또는 내 애드온 중 하나를) 발견

      <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> 
      

    내가 XCOPY 배포 및 사용을하고있는 중이 야 :

    또한 "system.web"섹션에서이 줄이었다 누락 개발 및 라이브 (연결 문자열 등) 간의 차이를 제어하는 ​​web.configVS에서 (내 dev에 상자에 폴더) 게시 후 web.config (내 dev 설정을 가지고 있기 때문에) 및 라이브에서 동일한 web.config 계속 사용하여 삭제합니다. 라이브 web.config에는 누락 된 행이 있었기 때문에 몇 가지 app 키 값 이상으로 다른 web.config에 대해 컴파일했습니다.

    내 개발 환경에서이 줄을 복원하고 다시 게시하면 문제가 해결되었습니다. 와우, 그들은 내 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을 설치할 필요가 없습니다.

    관련 문제