2009-11-12 2 views
0

이전에 수행 한 웹 폼을 vb.net에서 IronPython asp.net 웹 사이트로 가져 오려고했습니다. 그것이 작동하지 않는 것을보고 난 후에 가장 간단한 codebehind vb.net 웹 폼을 작성하여 IronPython 웹 사이트에서 vb.net에 문제가 있는지 확인하려고했는데 다음과 같은 일반적인 오류가 발생했습니다.VB Webform IronPython asp.net 웹 사이트

"정의 된 클래스 이 파일에있는 속성과 일치하는 속성이 상속되고 올바른 기본 페이지 (페이지 또는 컨트롤)를 확장한다는 의미입니다. "(번역이 정확하지 않으면 죄송합니다. 스페인어로 해당 메시지가 표시됩니다)

동일한 웹 사이트에있는 vb.net 웹 폼, 동일한 파일에있는 소스 코드 포함 (같은 페이지에서 스크립트 runat = "server"태그 사이의 vb.net 코드 사용) 아무런 문제가 없습니다..

같은 IronPython 웹 사이트에서 같은 방식으로 실행되도록 두 가지 소스 코드 언어를 구성해야합니까? 예를 들어 webconfig 파일에서 설정하거나 해결할 수없는 호환성 문제가 있습니까?

답변

1

<script /> 태그 사이의 코드는 페이지를 처음 실행할 때 동적으로 컴파일됩니다. 이를 통해 언어를 혼합 할 수 있습니다. 그러나 코드 숨김 파일의 클래스는 VS.NET에 의해 어셈블리로 정적으로 컴파일됩니다 ... VS.NET 프로젝트는 한 번에 하나의 언어 만 지원할 수 있습니다.

하나의 솔루션은 VB.NET 코드 숨김을 별도의 어셈블리에 넣는 것입니다. 예를 들어 :

    • 이 VB.NET 코드 비하인드 만들기 System.Web
    • 에 대한 참조를 추가하여 기존 솔루션에 새 VB 클래스 라이브러리 프로젝트를 추가합니다. System.Web.UI.Page를 상속 한 일반 클래스 여야합니다. 당신의 ASP.NET 웹 사이트 프로젝트에서
  • , 새로운 프로젝트
  • 편집에 대한 참조를 추가 페이지 @새 프로젝트
    • 의 클래스를 상속하여 *에서 .aspx 파일 지침 예 속성을 상속 <%@ Page Inherits="YourNewVBClassLibraryProject.MyVBCodeBehinds" ... />는 관련 네임 스페이스 클래스 이름을 응답 Serilla에 대한
1

감사가 포함되어 있습니다. 귀하의 정보는 흥미로 웠지만 app_folder를 작성하고 거기에 vb 파일을 추가하여 간단하게 해결했습니다. 내가 그렇게 할 수있는 미래의 문제가 있다고 생각합니까? Web.config의에서이 라인은 내가 그들을 제거 할 때

<pages compilationMode="Auto" pageParserFilterType="Microsoft.Web.Scripting.UI.NoCompileCodePageParserFilter" pageBaseType="Microsoft.Web.Scripting.UI.ScriptPage" userControlBaseType="Microsoft.Web.Scripting.UI.ScriptUserControl"> 
      <controls> 
       <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
      </controls> 
</pages> 

를 작동 IronPython을 사용할 때

VB에서 파일의 문제가 있었다, 파일 뒤에 VB 코드는 작동하지만, IronPython의 didnt 한. 줄이있을 때 파일 뒤에 Ironpython 코드가 작동하지만 VB에서는 없습니다.

+0

감사합니다. 저는 App_Code 폴더를 사용하지 않는 ASP.NET 웹 응용 프로그램 프로젝트 작업에 익숙하지만 솔루션에는 아무런 문제가 없습니다. :) – JulianM