2013-08-19 2 views
1

빈 프로젝트로 가져온 프로젝트의 메소드/클래스를 참조하려고 노력 중입니다. 정확한 단계는가져온 프로젝트에 대한 네임 스페이스를 정의하는 방법

  1. 다운로드 다음과 같습니다이 다시 및 임시 폴더 http://mywsat.codeplex.com/
  2. 로 추출하는 VS에서 새 프로젝트 만들기 -
  3. 모든 파일 복사 WebApplication1을 이름 Asp.Net 빈 웹 응용 프로그램 .NET 3.5을 MYWSAT35 폴더에서 새 프로젝트 VS 솔루션 탐색기에서
  4. 에 표시를 선택 모든 파일

지금 구축 프로젝트가 오류없이 잘 실행 실행하면. 가져온 파일을 모두 마우스 오른쪽 버튼을 클릭하고 선택을 위해

VS 솔루션 탐색기에서

5, 내가

The type or namespace name 'GetAdminMasterPage' could not be found 
(are you missing a using directive or an assembly reference?) 

GetAdminMasterPage.cs이 WebApplication1\App_Code\class\GetAdminMasterPage.cs에있는 오류를 얻을 프로젝트를 재건하려고 지금

프로젝트

에 포함 이제 에러를 제공하는 방법 중 하나의 예이다

#region using references 
using System; 
using System.Configuration; 
using System.Data; 
using System.Data.SqlClient; 
using System.Web.Caching; 
using System.Web.UI; 
#endregion 

/// <summary> 
/// Gets the MasterPage for the user selected Admin Theme. 
/// </summary> 
public class GetAdminMasterPage : System.Web.UI.Page 
{ 
    #region Get Admin MasterPage 

    protected override void OnPreInit(EventArgs e) 
    { 
     if (Cache["cachedAdminMaster"] == null) 
     { 
      GetDefaultMasterPage(); 
     } 
     else 
     { 
      string loadMasterFromCache = Cache["cachedAdminMaster"].ToString(); 
      Page.MasterPageFile = loadMasterFromCache; 
     } 
    } 

    private void GetDefaultMasterPage() 
    { 
     try 
     { 
      SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbMyCMSConnectionString"].ConnectionString); 
      SqlCommand cmd = new SqlCommand("sp_admin_SelectMasterPage", con); 
      cmd.CommandType = CommandType.StoredProcedure; 

      con.Open(); 

      SqlDataReader myReader = cmd.ExecuteReader(CommandBehavior.SingleResult); 

      if (myReader.Read()) 
      { 
       string masterPageFileName = myReader["ThemeUrl"] as string; 
       Cache.Insert("cachedAdminMaster", masterPageFileName, null, DateTime.Now.AddSeconds(300), System.Web.Caching.Cache.NoSlidingExpiration); 
       Page.MasterPageFile = masterPageFileName; 
      } 

      myReader.Close(); 
      con.Close(); 
      con.Dispose(); 
     } 
     catch (Exception ex) 
     { 
      Response.Write(ex.Message); 
     } 
    } 

    #endregion 
} 

같다

using System; 

public partial class admin_admin_edit_css : GetAdminMasterPage 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 
} 

//gives error The type or namespace name 'GetAdminMasterPage' could not be found 
(are you missing a using directive or an assembly reference?) 

그래서 GetContminMasterPage를 Using xxxxxx;으로 참조해야하지만 올바른 구문을 파악할 수는 없습니다.

왜 내가 "프로젝트에 포함"을 선택했을 때만 오류가 발생하며 복사가되지 않은 이유는 무엇입니까?

두 번째로 GetAdminMasterPage에 대한 올바른 경로로 오류를 수정하려면 어떻게해야합니까?

+0

원래 코드는 웹 사이트 "프로젝트"였습니까? 빈 프로젝트가 웹 응용 프로그램 프로젝트입니까? –

+0

네, 그렇게 생각합니다.그것은 불가능하다는 뜻입니까? – user3357963

+0

사과와 오렌지를 섞어서 문제가 발생할 것이라는 의미입니다. 다운로드 한 사이트를 로컬에서 가져 와서 마우스 오른쪽 버튼을 클릭하고 웹 응용 프로그램으로 변환 한 다음 해당 코드를 사용해보십시오. –

답변

2

프로젝트를 웹 사이트로 여는 후 프로젝트를 마우스 오른쪽 단추로 클릭하고 "웹 응용 프로그램으로 변환"을 선택하십시오. 변환 결과는 빈 프로젝트로 이동하려는 것이거나 변경 사항을 그대로두기를 원할 것입니다.

+0

감사합니다 -이 링크는 매우 유용했습니다 http://blogs.msdn.com/b/webdev/archive/2009/10/29/converting-a-web-site-project-to-a-web-application-project. aspx – user3357963

2

참고 : 새 프로젝트를 만들지 마십시오.

1.Copy (예 : D : MYWSAT35 \) 드라이브에 MYWSAT35 폴더
2.in 비주얼 스튜디오는 파일로 이동 -> 열기 웹 사이트
3.select에 d : \ MYWSAT35 및 클릭 open
4. 응용 프로그램을 실행하려면 F5 키를 누르십시오.

2

프로젝트를 웹 사이트로 열어야합니다.

VS2010을 사용하는 경우 .net 4.0으로 업그레이드하라는 메시지가 표시됩니다. 아니요를 선택할 수 있습니다.

하지만 VS2012에서 열면 프롬프트가 표시되지 않고 열립니다.

두 가지 모두 성공적으로 빌드됩니다.

관련 문제