2008-09-17 7 views

답변

1

나는 웹 사이트를 선호합니다. 웹 사이트는 디렉토리에있는 파일 모음입니다. 이식성과 배포 성이 향상됩니다. 웹 응용 프로그램은 프로젝트 파일로 문제를 해결합니다.

2

웹 응용 프로그램 프로젝트보다 프로젝트 파일이있는 프로젝트 VS 전통처럼 작동을 개발에 따라 달라집니다 등등.

웹 사이트 프로젝트는 고전적인 ASP 또는 PHP 사이트처럼 작동합니다. 프로젝트 파일이 없으며 (참조는 솔루션 파일에 저장됩니다.) 페이지는 서버에서 동적으로 다시 컴파일됩니다. 웹 사이트에서 좋은 점은 서버로 ftp하고 텍스트 편집기에서 파일을 변경할 수 있다는 것입니다. 당신 VS 필요 없다. 어떤 사람들은 그것을 싫어할 수도 있습니다.

아마도 배경에 따라 다를 수 있습니다. ASP 또는 PHP 스타일 개발에 익숙하다면 웹 사이트 프로젝트가 더 자연스럽게 보일 것입니다. 전통적인 애플리케이션 개발자 배경을 가지고 있다면 웹 애플리케이션 프로젝트가 더 자연스러워 보일 것입니다.

0

개인적으로 저는 지금 웹 애플리케이션 프로젝트를 독점적으로 사용합니다. 필자는 오히려 오히려 웹 사이트를 웹 사이트의 컴파일 시간 때문에 웹 응용 프로그램으로 변환했습니다.

또한 빌드 전 이벤트를 사용하여 구성 특정 구성 파일을 이동하고 사전 빌드 및 빌드 후 이벤트는 웹 사이트에서 사용할 수 없습니다.

2

소스 제어에 Team Foundation Server를 사용하는 경우 .csproj 파일이 필요하므로 웹 응용 프로그램 프로젝트를 사용해야 할 수 있습니다. 때문에 프로젝트 정보 및 메타 데이터를 포함하는 실제 파일의 부족으로 Web Site Projects vs. Web Application Projects

웹 사이트 웹 프로젝트 팀 시스템에 특히 고통스러운 :

제프 앳 우드 자신의 자세한 내용이 있습니다. 예를 들어 웹 사이트 프로젝트의 코드 분석 규칙을 체크 인하는 것은 불가능합니다. 왜냐하면 코드 분석 규칙이 전적으로 클라이언트에 저장되기 때문입니다!

3

모두 기능과 유사하게 수행하지만 여전히는 다음과 같은 방법으로 다릅니다

웹 응용 프로그램 :

  • 우리는 C# 및 단일 웹 응용 프로그램에서 VB의 페이지를 포함 할 수 있습니다.
  • 여러 프로젝트간에 종속성을 설정할 수 있습니다.
  • 재 컴파일없이 배포 한 후 개별 파일을 편집 할 수 없습니다.
  • 여러 개발자가 생성, 테스트 및 배포를 위해 일하는 엔터프라이즈 환경에 적합한 제품입니다.

웹 사이트 :

  • 가 하나의 웹 사이트에서 VB 및 C# 페이지를 혼합 할 수 있습니다.
  • 종속성을 설정할 수 없습니다.
  • 배포 후 개별 파일을 편집하십시오.
  • 하나의 개발자가 전체 웹 사이트를 만들고 관리해야하는 경우 올바른 선택.
+0

웹 응용 프로그램을 만들고 위치 i에 "http : // localhost/MyWebApp"를 입력하십시오. "OK"가 비활성화됩니다. ny1이 날 도와주세요 – shilpa

+0

VS 2008-> 파일 -> 새 프로젝트 -> C# 또는 VB -> 웹 -> 템플릿 선택 ASP.Net 웹 응용 프로그램 -> http : // localhost/WebApp가 "OK" – shilpa

0

Visual Studio 2015에서 저는 웹 응용 프로그램 프로젝트보다 웹 사이트 프로젝트를 선호했습니다. 나는 여전히 비주얼 스튜디오를 사용하고 있습니다. 왜냐하면 당신이 Nuget Packaging을 얻었 기 때문에, 프로젝트의 두 가지 유형 모두에 nuget 패키지를 설치할 수 있습니다.

그러나 웹 사이트 프로젝트에는 프로젝트 파일이 없으므로 솔루션에 폴더를 추가하기 만하면됩니다.

그러나 코드를 사용할 수는 있지만 별도의 프로젝트에 넣는 것을 선호합니다.

웹 애플리케이션 프로젝트에서는 자산, CSS,보기 (면도기, ASPX 등), 컨트롤러/코드 숨김 등이 모두 하나의 프로젝트에 포함되어 있습니다. 나는 두 개의 반쪽으로 웹 사이트를 사용하는 것을 선호한다. 프론트 엔드 (css, js, 이미지, "html/cshtml/aspx/ashx/.master/etc")와 백엔드 (모든 코드).

그래서 웹 사이트 프로젝트와 이에 동반되는 클래스 라이브러리를 만듭니다 (Visual Studio에서 웹 사이트 프로젝트에 대한 참조를 추가 할 수 있음). 내 클래스 라이브러리를 종속성으로 추가하고 모든 코드가 클래스 라이브러리에 있습니다. 당신은 여전히 ​​global.asax를 가질 수 있습니다. 코드가 다른 dll (사이트가 컴파일 될 코드가 아닌)에 있다는 것을 알려줘야합니다. MVC보기, 그냥 네임 스페이스를 지정합니다 (dll은 네임 스페이스가 있기 때문에 참조입니다). 그리고 WebForms에서는 코드가 들어있는 타입 참조로 어셈블리 이름을 포함해야한다는 것을 잊지 말아야합니다.

익숙해지기가 약간 지루하지만 구조체를 분리하면 모든 것이 한 곳에서 이루어집니다. 이해하기 쉽고 모듈화 된 방식으로 유지 보수가 용이합니다.

웹 사이트가 단순한 폴더 (프로젝트 파일 없음)이므로 Visual Studio 코드에서 쉽게 열 수 있으며 다른 대중적인 텍스트 편집기로도 디자이너가 CSS/js에서 작업하기 쉽습니다./images (코드 프로젝트에없는) 등. 레이어 디자이너를 분리하여 유지하면서 디자이너는 필요한 것을 확인합니다.

구조가 현명합니다. 내 컴퓨터에서 내 코드를 Tortoise SVN 및 Visual SVN (java/.net shop)을 사용하여 Subversion 저장소에 체크인 한 상태로 유지합니다. 로컬에서 테스트하려면 IIS를 설치하고 dev/prod 서버와 마찬가지로 IIS에서 로컬로 웹 사이트 프로젝트를 설정합니다.

그런 다음 dev/prod 서버에 MSDeploy를 설치하고 Visual Studio의 MSDeploy를 통해 게시 웹 응용 프로그램 기능을 사용하고 web.config 변환을 사용합니다. 그래서 dev.prod와 web.config에 대한 변환이없는 web.config 변환은 로컬 테스트 용입니다 (프로젝트의 모든 devs에서 작동합니다).

이전에 언급 한 단점 : 웹 사이트 프로젝트와 웹 애플리케이션 프로젝트를 비교한다고해서 여러 개발자가 작업 할 수 없다는 것을 의미하지는 않습니다. 즉, 웹 사이트 프로젝트가 일부 서버에 있고 그곳에서 직접로드하는 경우입니다 그것은 나쁜 습관이 될 것입니다.

다른 Visual Studio 프로젝트, 로컬 코드, 소스 컨트롤, 여러 개발자와 마찬가지로 웹 사이트 프로젝트를 처리 할 수 ​​있습니다.

최종 메모에서 코드를 분리하여 얻을 수있는 추가 이점은 모든 코드를 공유 프로젝트에 넣을 수 있다는 것입니다. 그런 다음 각 포트에 대해 클래스 라이브러리를 만들 수 있습니다. 곧 바로 .net 4.6에서, 또 다른 .net 코어 5에서 공유 라이브러리의 링크를 만들 수 있습니다.코드가 둘 모두와 호환되는 한 빌드가 완료되고 코드 파일이 중복되지 않습니다.

관련 문제