문제

시각적 웹 개발자 2008 Express Environment에서 올바르게 컴파일하고 실행할 내용과 내 웹 서버에서 실패한 내용과 관련하여 많은 불일치가 발생합니다.

특히 ASPX 및 ASPX.CS CodeBehind와 웹 개발자 프로젝트에 여러 개의 추가 .CS 파일이 있습니다. 개발 서버에서 잘 구축되고 괜찮습니다. 파일을 서버에 업로드하면 CodeBehind는 다른 .CS 파일을 알지 못하는 것 같습니다.

내 ASPX 앱을 추가 .CS 파일을 상속하는 올바른 방법은 무엇입니까?

--- 업데이트 --- 내가 필요한 대답을 실제로 찾지 못하기 때문에 내가하고있는 일에 대해 조금 더 명확하게하겠습니다.

세 가지 파일이 있습니다.

default.aspx

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Import Namespace="UtilClasses" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

default.aspx.cs

public partial class _Default : Page { }

app_code/utilclasses.cs

namespace UtilClasses {
  public class AClass {
    public const int A = 1;
  }
}

이 예에서 다음 중 하나를 수행하려고하면 웹 서버에서 컴파일 오류가 발생합니다.

  • APP_Code를 @Import를 참조하십시오
  • ASPX.CS CodeBehind에서 포함 된 코드를 호출하거나
  • ASPX 페이지에서 코드를 호출하십시오.

Soltuion은 Web Developer 2008에서 잘 컴파일합니다. Soltuion은 FTP를 통해 내 웹 서버에 자동 게시되는 웹 사이트입니다. 게시중인 파일의 정확한 목록은 다음과 같습니다.

  • default.aspx
  • default.aspx.cs
  • app_code/utilclasses.cs
  • web.config
도움이 되었습니까?

해결책

배포 문제가있는 것 같습니다.

단지 게시 (빌드 메뉴에는 게시 항목이 있습니다.) 웹 응용 프로그램/사이트를 폴더로 만든 다음 해당 폴더의 파일을 서버로 이동합니다.

디렉토리에 오래된 어셈블리 파일과 새로운 클래스가 있다고 생각합니다.

도움이 되었기를 바랍니다

다른 팁

부분 클래스를 사용할 수 있습니다. 파일 ( *.cs)을 추가하고 클래스를 부분적으로 정의하십시오. 그래서, 당신은 당신의 방법, 속성을 분산시킬 수 있습니다.

이것은 웹 응용 프로그램에서 코드를 구성하는 매우 일반적인 문제입니다. 다음은 문제에 참석하는 데 도움이되는 몇 가지 포인터입니다.

  1. 단일 프로젝트를 사용하고 ASP.NET 웹 사이트 프로젝트 인 경우 .CS 파일을 APP_Code 폴더에 넣으십시오.

  2. 네임 스페이스를 현명하게 사용하고 네임 스페이스의 내용을 추적하십시오. Resharper와 같은 것이 있다면이 작업을 저장합니다.

  3. 이상적으로는 웹 프로젝트에 페이지 관련 및 Util 클래스 만 있어야합니다. 다른 기능을 위해 C# Express를 사용하여 라이브러리를 만듭니다. Nunit/Mbunit 등을 사용하여 이러한 라이브러리를 테스트하십시오.

  4. Cassini에서 무언가가 실행되지만 IIS에 있지 않은지 의문이 있다면. 개발자 또는 로컬 II만이 유일한 솔루션입니다.

도움이되기를 바랍니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top