음 아마 비둘기보단 똑똑할꺼야
준돌 Jundol / 2019.03.15 15:44 / ASP.NET4/MVC

서버 환경 

windows 7 professional K

IIS 7.5 

ASP.NET framework 4 설치완료인 상태에서 


MVC5 로 제작된 사이트를 구동하려 올렸으나 제목과 같은

Could not load file or assembly 'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)


Razor version2.0.0.0 의 dll 파일을 로딩하지 못한듯한 에러를 뿜어냈다.


https://stackoverflow.com/questions/19963307/how-to-install-asp-net-mvc-5-on-a-server


스택오버 플로우를 뒤져봤지만 별도로 MVC 를 설치하는게 아니라는 답변만 달려있었다.

이건 나도 알고있다. MVC는 설치하는게 아니라는걸.

근데 왜 안될까 더 검색해보니

https://stackoverflow.com/questions/11246861/could-not-load-file-or-assembly-system-web-webpages

[ install the Web Pages Version 2 on the server. ]

Web Pages Version 2 를 서버에 install 하라는 말이 있어 얼른 설치해봤다.


install 파일 다운로드 페이지

https://www.microsoft.com/ko-KR/download/details.aspx?id=34600


설치하고 iis 다시시작하니 정상적으로 로딩!


아마 낮은 버전의 iis에서는 별도로 install 해줘야 하는것같다.


파일명: AspNetWebPages2Setup.exe

첨부된 파일은 위변조되지않은 정상적인 MS사에서 제공하는 파일입니다.

의심되시면 위 URL insatll 다운로드 페이지에서 다운받아 설치하세요~

AspNetWebPages2Setup.exe



준돌 Jundol / 2017.12.20 17:33 / Visual Studio 2015

닷넷 참조프로젝트 추가하는 방법

제목은 참조프로젝트 추가하는 방법이지만 다중프로젝트 설정방법이라고 읽어야 하겠다.

기본 닷넷에서 Model View Controller 로 나누어서 개발하려고 할 때가 있다.

하나의 솔루션에 3개의 프로젝트를 추가하는건데

웹프로젝트 하나 C# 프로젝트 두개를 생성하여 C#프로젝트 두개는 각각 모델과 컨트롤러를 담당한다.

여기서 C#프로젝트를 추가하고 그냥 빌드를 하게 되면

심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태
오류 CS5001 프로그램에는 진입점에 적합한 정적 'Main' 메서드가 포함되어 있지 않습니다. ORL_Common C:\Users\xxxx\Documents\Visual Studio 2015\Projects\ORL_TEST\ORL_COMMON\CSC 1 활성

심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태
오류 CS0006 'C:\Users\DA_JUNK\Documents\Visual Studio 2015\Projects\ORL_TEST\ORL_COMMON\bin\Debug\ORL_COMMON.exe' 메타데이터 파일을 찾을 수 없습니다. ORL_BizDac C:\Users\xxxx\Documents\Visual Studio 2015\Projects\ORL_TEST\ORL_BizDac\CSC 1 활성

위 두개와 같은 오류를 발생시킨다.

위와같은 문제는 프로젝트의 출력형식에서 윈도우응용프로그래밍으로 설정이 되어있기 때문이다.

아래 사진과 같이 바꿔주도록 하자.

클래스 라이브러리로 바꾼다.

그래야 빌드가 정상적으로 된다.

아래사진 처럼.

 

준돌 Jundol / 2017.03.23 17:27 / ASP.NET4/MVC

MVC 에서 뷰의 오류를 찾는 것은 액션 페이지 마다 전부 다 방문해보면서 확인 하는 수밖에 없는 줄 알았다.

(심히 노가다....)

하지만! 방법이 있다.

프로젝트의 csproj 파일에서 MvcBuildViews 옵션을 true 로 설정하면 뷰의 오류를 빌드시에 잡아낼수 있다.

프로젝트의 csproj 파일은 프로젝트 폴더에 들어가면 프로젝트명.csproj 파일이 있을것이다.

해당 파일을 메모장이나 편집기로 열어서 MvcBuildViews 의 옵션(기본값은 false)을 true 로 기능을 켠 후 빌드를 하면



(실제 진행중인 프로젝트여서 중요 네이밍부분을 모자이크 처리한점 양해바랍니다.)

위 사진처럼 뷰의 오류들이 나타난다. 옵션을 켜고 빌드하면 시간이 false 일 때보다 조금 더 오래 걸린다.
이 오류들은 MvcBuildViews 옵션을 false 로 하면 아래사진처럼 나타나지않는데 true 로 옵션을 켜고 빌드하면 해당 오류를 미리 잡아 낼 수 있을 것 같다. 




© 2015 Jundol in 음 아마 비둘기보단 똑똑할꺼야
Designed by DH / Powered by Tistory
130 / 32 / 128,702