티스토리 툴바


몇 년전에 구하려다가 책이 절판이 되어 구매하지를 못하였습니다. 그러던중 최근 웹지님과 연락이 다아 책을 볼 수 있는 기회도 있었지만 잘 안되었던 적이 있었습니다.

다행히도 이번에 웹지니님이 PDF로 공개를 하셔서 저 뿐만 아니라 많은 분들에게 큰도움이 되리라 생각합니다.

http://www.bullog.net/Web/Bulletin/Read.aspx?id=announce&item=122
크리에이티브 커먼즈 라이선스
Creative Commons License
http://www.taedi.kr/trackback/86 관련글 쓰기
원인) MasterPage 적용상태에서 링크된 페이지가 어떠한 위치에 있든 상관없이 MasterPage 영역에 있는 모든 컨트롤이나 템플릿들은 공통적으로 정상적으로 화면에 표시 되야 하는게 당연할 것입니다. 그러나... Silverlight가 Plug-in 형태로 적용되어 있을때 동일 디렉토리(폴더)에서 처음 로드되는 기본와 Link 된 페이지가 같이 존재할때는 정상적으로 Silverlight Plug-in이 정상적으로 화면에 출력이 됩니다.  

그러나 기본 Page에서 다른 디렉토리(폴더)에 있는 Link 된 페이지로 이동시 MasterPage에 출력이 되야할 Silverlight Plug-in의 영역만 표시되고 컨텐츠는 아무것도 표시되지 않는 현상이 발생하게 됩니다.

테스트 1) 동일 디렉토리상에 Default page와 Link page가 있을때 - 정상작동
사용자 삽입 이미지

 

사용자 삽입 이미지

프로젝트의 디렉토리 구조와 Blog.js 파일안에 Page.xaml의 경로

사용자 삽입 이미지


다른 디렉토리 내에서 테스트

결과는 링크된 페이지에서 Silverlight 영역위에서 마우스 오른족 버튼을 클릭했을때 출력되는 메시지 박스입니다. 이상한 건 메시지가 정상적으로 출력이 되었다는 것은 Silverlight가  잘 작동한다는 뜻인데 화면에는 아무것도 표시되지 않고 투명인 상태로 표시된다는 것입니다.

XAML 파일은 웹사이트의 루트 디렉토리에 위치해 있으며 테스트 1,2번 모두 같은 조건에서 테스트 한 결과입니다. MasterPage는 Content 페이지의 변경에 상관없이 항상 동일하게 화면에 출력되는 페이지 영역입니다.

만약 Content 페이지가 매번 변경될 때 마다 Page.xaml 파일의 경로를  Content 페이지의 상대경로에 맞춰서 동적으로 프로그래밍을 해야한다는 조건이 발생합니다.

이게 과연 버그일까요 아니면 프로그램상의 오류일까요...

아래에 테스트에 대한 데모를 올려놓았습니다. 테스트 해보시고 이에 대한 의견이 있으면 뎃글을 달아주시기 바랍니다.

프로젝트의 디렉토리 구조와 Blog.js 파일안에 Page.xaml의 경로


사용자 삽입 이미지


동일 디렉토리 내에서 테스트

기본페이지에서 링크된 페이지로 이동했을때 주소표시줄에 페이지가 변경된것이 보이며 Silverlight Plug-in이 정상적으로 화면에 표시되는 것을 볼 수 있습니다.

이번에는 기본 페이지와 링크된 페이지의 위치가 각각 다른 디렉토리에 위치할 때 실행하면 어떠한 결과가 나타나는지 확인해 보겠습니다.

테스트 2) 다른 디렉토리상에 Default page와 Link page가 있을때
크리에이티브 커먼즈 라이선스
Creative Commons License
http://www.taedi.kr/trackback/134 관련글 쓰기

OCX 등록

Microsoft .Net 2007/09/06 01:37
  • 등록방법 --------------------------------------------
          1) 첨부된 ocx파일들을
                    c:\windows\system 폴더에 복사한다.
          2) 도스창으로 나가 (또는 시작->실행->에서) 현재 디렉토리를
                    c:\windows\system으로 바꾼다
          3) 프롬프트 에서 regsvr32 symfacx.ocx를 type한다.
          4) 마찬가지로 regsvr32 symbasic.ocx를 type한다.
           -------------------------------------------------------
크리에이티브 커먼즈 라이선스
Creative Commons License

'Microsoft .Net' 카테고리의 다른 글

SQL 서버 데이터베이스 목록 가져오기  (0) 2007/10/20
그리드 데이터 바인딩  (0) 2007/10/19
나이계산 프로그램  (0) 2007/10/04
OCX 등록  (0) 2007/09/06
실행주기(PageCycle)  (0) 2007/08/14
Crystalreports 서브리포트 예제  (0) 2007/07/18
xml string을 DataSet으로 읽기  (0) 2007/07/18
게시판 리스트에 코멘트 출력 메소드  (0) 2007/06/29
http://www.taedi.kr/trackback/83 관련글 쓰기
앞으로 여러회에 걸쳐 ASP.NET 기초에 대해 알아보겠습니다.
그 첫번째로 페이지의 실행주기(PageCycle) 입니다. ASP.NET 프로그래밍을 하다보면 원치않는 결과가 종종 나올때가 있습니다. 이것은 페이지의 실행주기의 잘못된 이해에게 비롯되는데 초급개발자가 중급으로 넘어가기 위해서는 반드시 이해하고 있어야 합니다.

ASP.NET에서 페이지는 System.Web.UI.Page 클래스 상속받은 객체입니다. 클라이언트 특정 페이지를 요구할 때마다 페이지 객체는 생성에서 소멸까지 일련의 과정을 거칩니다. System.Web.UI.Page  객체의 처리 내부 과정은 더 복잡한 과정을 거치므로 이후 좀더 자세히 알아보겠습니다.

사용자 삽입 이미지

[그림 1.1 페이지 실행주기(PageCycle)]
Init

페이지의 객체가 생성된 다음 초기화 단계입니다. 이 단계에서는 아직 Viewstate의 값이 각 속성으로 복구되지 않았기 때문에 정확한 컨트롤의 속성값을 참조할 수 없습니다. 이 때문에 Init 이벤트에서는 컨트롤의 속성에 엑세스하지 않지만, 제일 처음 발생하는 이벤트이므로 초기화 작업에 해당하는 이벤트 핸들러르 ㄹ매핑하거나 페이지에 포함되는 컨트롤을 동적으로 로딩하는데 적합한 장소입니다.

사용자 삽입 이미지


[동적 컨트롤 생성 예제]


Load 

ViewState의 상태 설정이 완료되었으므로 페이지에 포함된 서버 컨트롤의 속성에 엑세스 할 수 있습니다. VS.NET을 사용하면 이 이벤트의 핸들러를(Page_Load) 생성해 주기 때문에 가장 많이 코딩하는 장소입니다.

 
PostBack 이벤트 처리

이 단계에서는 사용자의 반응에 따라 여러 종류의 이벤트가 발생할 수 있습니다. 버튼클릭, 텍스트 컨트롤의 속성 설정변경 등이 이런 종류의 이벤트를 일으킵니다. 페이지가 처음 요청될 때는 IsPostBack 속성이 false이므로 이 단계가 실행되지 않습니다. (IsPostBack : 페이지가 로드되고 데이터 바인딩시 포스트백안에 값이 있으면 포스트백을 일으키지 않습니다)


PreRender

컨트롤의 내용을 랜더링하기 바로 전 단계입니다. 처리 순서로 인해 발생하는 논리적 문제를 해결하기 위해 Load 단계에서 처리할 작업을 여기서 대신할 수 있습니다. (예:페이지 속성 초기화, 기본적인 데이터 바인딩)


Render 

컨트롤의 내용을 클라이언트로 출력할 HTML로 랜더링하는 메소드입니다. 일반적인 웹페이지 개발에서는 코딩하는 경우가 많지 않습니다.


Unload

페이지 객체가 소멸되기 전에 발생하는 이벤트이며 페이지가 요청된 경우는 항상 실행됩니다. 예를 들어 Page_Load 메소드에서 Response.Redirect 메소드를 이용해 다른 페이지로 이동하면 버튼 클릭 이벤트나 PreRender 이벤트는 발생하지 않으며 Unload 이벤트는 발생합니다.

이 단계에서는 페이지에서 사용한 리소스를 시스템으로 반환하는 작업을 할 수 있습니다. 가비지 컬렉터(Garbage Collector)가 자동으로 필요 없는 리소스를 정리를 해주지만, 가비지 컬렉터에 의한 리소스 정리는 시간이 걸리기 때문에 시스템 자원을 많이 소비하는 데이터베이스 연결 같은 리소스는 이 단계에서 직접 해제할 수 있습니다. Init 단계와 마찬가지로 서버 컨트롤의 ViewState와 관련된 속성은 여기서 처리하면 안 됩니다.

랜더링이란

예전 ASP 프로그래밍에서는 클라이언트로 출력할 HTML 태그를 직접 코딩했지만 ASP.NET에선 프로그래머가 직접 HTML 태그를 작성하는 일이 거의 없어졌습니다. 단지 컨트롤의 메소드와 속성을 적절히 설정하면 서버 컨트롤의 랜더링 단계에서 알맞은 HTML로 변환해 줍니다. 컨트롤의 내용을 클라이언트로 출력하 HTML로 출력할 HTML로(출력장치에 따라 다른 언어가 될 수도 있습니다) 변환하는 과정을 랜더링이라 합니다.

크리에이티브 커먼즈 라이선스
Creative Commons License

'Microsoft .Net' 카테고리의 다른 글

그리드 데이터 바인딩  (0) 2007/10/19
나이계산 프로그램  (0) 2007/10/04
OCX 등록  (0) 2007/09/06
실행주기(PageCycle)  (0) 2007/08/14
Crystalreports 서브리포트 예제  (0) 2007/07/18
xml string을 DataSet으로 읽기  (0) 2007/07/18
게시판 리스트에 코멘트 출력 메소드  (0) 2007/06/29
게시판 [이전글] / [다음글] 만들기  (0) 2007/06/29
http://www.taedi.kr/trackback/82 관련글 쓰기
전에 모화사 ERP 프로젝트에서

인사기록카드를 만들다가 서브리포트에 막혀서

몇일을 고생하다가 해결하게 되었습니다.

서브리포트 관련 예제이고요.....

참고하시기 바랍니다.

조만간 강좌를 올리도록 하겠습니다!!

크리에이티브 커먼즈 라이선스
Creative Commons License
http://www.taedi.kr/trackback/80 관련글 쓰기

// 코멘트 갯수표시 메소드 코멘트가 없으면 표시하지 않는다.

public static string CommentCnt(string commentcnt)
{
        string cnt = "";
        if (commentcnt != "0")
            cnt = "<font color='#42a9fc'><b>(" + commentcnt + ")</b></a>";
        else
            cnt = "";
        return cnt;
}
크리에이티브 커먼즈 라이선스
Creative Commons License
http://www.taedi.kr/trackback/77 관련글 쓰기
//이전글 메소드

public void PervFirst()
    {
        lib = new Library();

        SqlConnection con   = new SqlConnection(lib.ConnectionString);
       
// 이전글을 추출하기 위한 SQL      
 string qry = @"SELECT MAX(num) AS NMax FROM boards WHERE  Board_id = @Board_id AND num < @Num";
        SqlCommand  cmd     = new SqlCommand(qry, con);
       
        cmd.Parameters.AddWithValue("@Board_id",   BOARD_ID);
        cmd.Parameters.AddWithValue("@Num",        SEQ);
       
        try
        {
            con.Open();
            SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

            if (dr.Read())
            {
               // 하이퍼링크 컨트롤
                hFirstPerv.Text = "[이전글]";
                hFirstPerv.NavigateUrl = "Board_view.aspx?board_id=" + BOARD_ID + "&seq=" + dr["NMax"].ToString();
            }
            else
            {
                hFirstPerv.Text = "처음";
            }
        }
        catch (Exception ex)
        {
            lib.AlertHistoryGo("데이터를 가져오지 못했습니다. 사유는 다음과 같습니다.   \\r\\n" + ex.Message, -1);
        }
        finally
        {
            con.Close();
        }

    }

// 다음글 메소드
public void LastNext()
    {
        lib = new Library();

        SqlConnection con = new SqlConnection(lib.ConnectionString);

        // 다음글을 추출하기 위한 SQL
        string qry = @"SELECT MIN(num) AS NMin FROM boards WHERE  Board_id = @Board_id AND num > @Num";
        SqlCommand cmd = new SqlCommand(qry, con);

        cmd.Parameters.AddWithValue("@Board_id", BOARD_ID);
        cmd.Parameters.AddWithValue("@Num", SEQ);

        try
        {
            con.Open();
            SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

            if (dr.Read())
            {

               // 하이퍼링크 컨트롤
                hLastNext.Text = "[다음글]";
                hLastNext.NavigateUrl = "Board_view.aspx?board_id=" + BOARD_ID + "&seq=" + dr["NMin"].ToString();

            }
            else
            {
                hLastNext.Text = "마지막";
            }
        }
        catch (Exception ex)
        {
            lib.AlertHistoryGo("데이터를 가져오지 못했습니다. 사유는 다음과 같습니다.   \\r\\n" + ex.Message, -1);
        }
        finally
        {
            con.Close();
        }

    }
크리에이티브 커먼즈 라이선스
Creative Commons License
http://www.taedi.kr/trackback/76 관련글 쓰기
aspx 페이지에서 메소드를 사용하려면...
<asp:Image ID="Image1" runat="server" ImageUrl="Image/dot_new.gif" Visible='<%# Board.newPost(Eval("WriterDate").ToString()) %>' />  

2.0에서 새로 추가된 이미지 컨트롤입니다.
Visible 속성은 화면에 랜더링할지 않할지 정하는 속성입니다.
이속성에 값을 데이터 바인딩식으로 해서...

<%# Board.newPost(Eval("WriterDate").ToString()) %>
Board는 newPost()메소드가 포함된 클래스입니다 .

2.0에서는 1.x버전때와는 달리 바인딩식이 아주 간단하고 쉬어졌습니다.

1.x : <%# DataBinder.Eval(Container, "DataItem.au_id") %>
         <%# DataBinder.Eval(Container. DataItem,"au_id") %>

2.0 : Eval("WriterDate").

aspx에서 호출할때는 모든 매개변수(파라미터) 데이터 타입은 오브젝트(object) 형입니다.

 
// Visible 속성의 value값을 true/false 값을 얻기위해서는
// 항상 함수의 리턴형을 bool형으로 해야한다.

public static bool newPost(object objDate)
 {
        // object형을 문자열형으로 형변환을 해줍니다.
        string strDate = (string)objDate;

       // 그다음 시간연산을 하기위해서 다시 DateTime 날짜형으로 바꿔준다음..
        DateTime orginDate = DateTime.Parse(strDate);

      // TimeSpan  시간간격을 구할수 있는 구조체입니다.
       TimeSpan gap = DateTime.Now - orginDate;
     
       // 시간차이를 구한것을 분으로 환산하여.. 결과를 리턴합니다.
        if (gap.TotalMinutes < 1440)
            return true;
        else
            return false;
    }
크리에이티브 커먼즈 라이선스
Creative Commons License
http://www.taedi.kr/trackback/75 관련글 쓰기

파일 업로드

Microsoft .Net 2007/06/28 01:30
string UpLoadPath = "~/File/";       // 업로드 폴더의 웹경로
        string fileName = string.Empty;
        if (txtFile.PostedFile != null)
        {
            fileName = Path.GetFileName(txtFile.FileName);
            string tmpFileName = fileName;
            string savePath = Server.MapPath(UpLoadPath + tmpFileName);
            int j = 0;

            while (File.Exists(savePath)) //파일중복체크
            {
                j++;

                tmpFileName = Path.GetFileNameWithoutExtension(fileName) + "(" + j.ToString() + ")" + Path.GetExtension(fileName);
                savePath = Server.MapPath( UpLoadPath + tmpFileName );
           
            }

            string fname = txtFile.FileName;

           

           if (fname != "")   // 사진을 등록하지 않고 회원가입할때 파일업로드 입력박스 null 체크
            {
                txtFile.PostedFile.SaveAs(savePath);
            }
            fileName = tmpFileName;

        }
크리에이티브 커먼즈 라이선스
Creative Commons License
http://www.taedi.kr/trackback/79 관련글 쓰기

// 코멘트 갯수표시 메소드 코멘트가 없으면 표시하지 않는다.

public static string CommentCnt(string commentcnt)
{
        string cnt = "";
        if (commentcnt != "0")
            cnt = "<font color='#42a9fc'><b>(" + commentcnt + ")</b></a>";
        else
            cnt = "";
        return cnt;
}
크리에이티브 커먼즈 라이선스
Creative Commons License
http://www.taedi.kr/trackback/78 관련글 쓰기

정확한 문서 구조 준수


문서의 루트 요소는 html이 되어야 하며, 이 html 요소는 XHTML 네임스페이스를 지정
해야 한다.
<html xmlns="http://www.w3.org/1999/xhtml">
표준 문서에는 head, title 및 body 구조 요소가 포함되어야 한다. 프레임 세트 문서에는
head, title 및 frameset 구조 요소가 포함되어야 한다


모든 요소는 완벽하게 중첩되어야 한다.


모든 요소들이 완벽하게 내포(nest) 되어야 하는 것은 필수적이다. 중첩(overlapping)이
부적합(illegal)한 것임에도 불구하고 기존 웹 브라우저들에서 널리 관대하게 사용되었다.
<p>This is a <i>bad example.</p></i>
<p>This is a <i>good example.</i></p>


모든 속성 값은 인용 부호(“나 ‘)로 묶어야 한다.


코드를 생성하거나 XHTML을 정리할 때 코드에서 속성 값을 인용 부호로 묶는다.
<a href=http://sample.com>틀린 경우</A>
<a href="http://sample.com">맞는 경우</a>


모든 요소와 속성은 소문자여야 한다.


XHTML 코드를 생성하거나 정리할 때 태그 및 속성의 대/소문자 환경 설정에 상관 없이
XHTML 코드에서 HTML 요소 및 속성의 이름을 소문자로 강제로 설정해야 한다. 이러
한 차이는 XML은 대소문자를 구별(case-sensitive)하므로 필수적이다. 예를 들어, <li>와
<LI>는 서로 다른 태그들이다
<A HREF="http://sample.com">틀린 경우</A>
<a href="http://sample.com">맞는 경우</a>


모든 요소는 닫아야 한다.


DTD에서 EMPTY로 선언된 경우를 제외하고 모든 요소에는 종료 태그가 포함되어야 한
다. 코드를 생성하거나 XHTML을 정리할 때 코드에 닫기 태그를 삽입한다.
빈 요소에는 종료 태그가 포함되거나 시작 태그가 />로 끝나야 한다. 예를 들어, <br>은
잘못된 것이며 <br></br> 또는 <br/>이 올바른 형식이다. 빈 요소로는 area, base,
basefont, br, col, frame, hr, img, input, isindex, link, meta 및 param이 있다.
또한, XML을 사용할 수 없는 이전 브라우저와의 호환성을 위해 /> 앞에 공백이 있어야
한다(예: <br/>가 아니라 <br />).
<img src="http://sample.com/wrong.jpg">
<img src="http://sample.com/right.jpg" />


모든 속성값은 속성이 함께 선언되어야 한다.


모든 속성은 최소화되어 표기 되면 안 된다. XML은 속성의 최소화를 지원하지 않는다. 속
성 값의 짝들은 모두 작성되어야 한다.
a, applet, form, frame, iframe, img, map 등의 요소에는 name 속성뿐만 아니라 id 속
성도 있어야 한다. 예를 들어, <a name="intro">Introduction</a>는 잘못된 것이며 <a
id="intro">Introduction</a> 또는 <a id="section1" name="intro">
Introduction</a>.가 맞다.
또한 <td nowrap>은 잘못된 것이며 <td nowrap="nowrap">이 올바른 형식이다. 최소
화될 수 없는 속성으로는 checked, compact, declare, defer, disabled, ismap, multiple,
noresize, noshade, nowrap, readonly 및 selected가 있다.
<option value="wrong" selected>틀린 경우</option>
<option value="right" selected="selected">맞는 경우</option>
참고: HTML 브라우저에서 HTML 4를 지원하지 않는 경우, 부울 속성이 전체 형식으로
표시되면 브라우저에서 이들 속성을 해석하지 못할 수도 있다.


모든 script 및 style 요소에는 type 속성이 포함되어야 한다.


language 속성이 사용되지 않는 HTML 4 이후로는 script 요소의 type 속성을 반드시
지정해야 한다. 코드를 생성하거나 XHTML을 정리할 때 script 요소에서 type 및
language 속성을 설정하고 style 요소에서 type 속성을 설정한다.
<script type="text/javascript” language="javscript"></script>
<style type="text/css"></style>


모든 img 및 area 요소에는 alt 속성이 포함되어야 한다.


코드를 생성하거나 XHTML을 정리할 때 코드에서 이들 속성을 설정하고, 찾을 수 없는
alt 속성을 보고한다.


모든 SCRIPT내의 태그는 Escape 시켜야 한다.


자바 스크립트에서 HTML 태그 쓰기에서 많은 경우 오류를 낸다. 자바스크립트 내에 데
이터는 CDATA 형식으로 간주되기 때문에 HTML태그가 들어가게 되면 오류를 내게 되
어 있다. 예를 들어 아래 예제는 잘못된 방식이다.
<script type="text/javascript">
<!--
// 틀린 표현!
document.write("</P>");
// -->
</script>


HTML4에서는 SCRIPT내에 데이터 중 시작 태그나 코멘트 부분은 인식이 안되지만 종료
태그는 인식이 되기 때문에 이를 역슬래시로 표시해야 한다.
<script type="text/javascript">
<!?
// 맞는 표현!
document.write("<\/P>");
// -->
</script>
XHTML에서, 스크립트와 스타일 요소들은 #PCDATA 컨텐트를 갖는 것으로 선언된다.
결과적으로, <과 &는 마크업의 시작으로 처리되고, &lt;과 &amp;와 같은 개체(entities)들
은 XML 프로세서(processor)에 의해 각각 <과 &로의 개체 참조로서 인식되므로
CDATA로 마크업 하여 표시하는 게 좋다.
<script type="text/javascript">
<![CDATA[
... <h1>데이터</h1> ...
]]>
</script>


모든 문서 내 URL에서 &를 쓰면 안 된다.


URL에 &가 포함되어 있는 경우 에러를 낼 수 있다. 이것은 &가 XML 엔티티의 시작으
로 인식 하기 때문에 생기는 문제이다. 기존 웹브라우저는 이러한 에러를 복구해 주고 있
지만 유효성 검사기에서는 에러를 내게 된다.
<!?에러! --> <a href="foo.cgi?chapter=1&section=2">...</a>
<!?적합! --> <a href="foo.cgi?chapter=1&amp;section=2">...</a>
HTML 문서 내에서만 &를 &amp;로 바꾸어야 하며 브라우저 주소창이나 이메일 본문에
서는 &를 써야 한다. 웹 서버에서는 &amp;가 아니라 &만을 인식하기 때문이다.

크리에이티브 커먼즈 라이선스
Creative Commons License
http://www.taedi.kr/trackback/74 관련글 쓰기

1.  페이지를 로드할 때 동적으로 웹페이지의 컨텐트를 생성하는 경우에는 body 태그 안에 위치시키는 것이 좋다.

2. 함수 안에서 정의하고 page 이벤트에 사용되는 자바스크립트 코드는 head 태그 안에 위치시키는 것이 좋다. 그렇게 해서 body 태그 안의 내용을 읽어들이기 전에 로드되기 때문이다.


스크립트의 위치를 결정하는데 있어 간단히 적용할 수 있는 방법은 다음과 같다. 웹페이지 로드와의 동시에 스크립트가 컨텐트를 생성하는 경우에는 body 태그 안에 위치시키고, 그 외의 경우에는 head 태그 안에 위치시킨다. 이렇게 하면 스크립트 때문에 혼란을 겪는 일을 줄일 수 있고, 항상 일정한 곳에 위치하기 때문에 편리하다.

크리에이티브 커먼즈 라이선스
Creative Commons License
http://www.taedi.kr/trackback/73 관련글 쓰기

한참 삽질하다가 눈에 띄는 파일이 있길래 실행해보고 되는걸 확인하고 글 씁니다.

윈도우폴더->Microsoft.NET->Framework->v1.0.3705  에 들어가시면 "aspnet_regiis.exe"라는 파일이 있습니다.
저 프로그램이 iis에 ASP.NET를 등록하는 파일입니다. 그냥 실행하시면 안됩니다.
뒤에 -i 옵션을 붙여주셔야 합니다.

저같은 경우는 명령 프롬프트로 들어가서 c:\~~~\v1.0.3705> aspnet_regiis -i 이렇게 해주었습니다. 실행시키면

Start installing ASP.NET (1.0.3705.288)
이 메세지에서 한참 뜸을 들이더니
Finished installing ASP.NET (1.0.3705.288)
이렇게 나오면서 끝나더군여

크리에이티브 커먼즈 라이선스
Creative Commons License
http://www.taedi.kr/trackback/72 관련글 쓰기