그래서 최근에 Visual Studio 2012를 업데이트 2로 업데이트했습니다. Lo를보고 다음에 내 애플리케이션을 게시 할 때 (이 경우 파일 게시를 통해) 세 가지 새로운 옵션이 있음을 알았습니다.
- 게시하기 전에 모든 기존 파일 삭제
- 게시 중 사전 컴파일 (구성 링크 포함)
- App_Data 폴더에서 파일 제외
첫 번째와 세 번째 옵션은 자명하지만 두 번째 옵션에 대한 문서는 MVC에 적용되므로 찾을 수 없습니다. 확인했을 때 사이트에서 생성 된 파일에 변화가없는 것 같고 성능에 실제 변화가 보이지 않습니다.
답변
ASP.NET 프리 컴파일러를 사용하면 MVC 앱에 다음과 같은 영향을 미칠 수 있습니다.
- App_Code에 항목이 있으면 배포 전에 DLL로 미리 컴파일됩니다. 미리 컴파일하지 않으면 ASP.NET 런타임에 의해 즉석에서 발생합니다.
- 페이지를 업데이트 할 수 없도록 하는 옵션을 선택하면 (예 : 고급 설정 대화 상자의 첫 번째 확인란 선택 취소) 런타임시 동적으로 컴파일하는 대신 뷰 (ASPX 및 Razor)도 미리 컴파일합니다. “미리 컴파일 된 사이트를 업데이트 할 수 있도록 허용”의 기본 (선택된) 설정을 사용하면 전체 프로젝트를 다시 빌드 할 필요없이보기 콘텐츠를 업데이트 할 수 있습니다.
App_Code에 파일이없고 사이트를 업데이트 가능한 상태로 유지하려는 경우 많은 작업을 수행하지 않는 것 같습니다.
답변
오래된 질문이지만 비슷한 문제가 발생하고 나눌 가치가 있다고 느낍니다.
내 오류 메시지는이 게시물에서 동일합니다. 내 프로젝트는 MVC5이며 Visual Studio 2013 전문가로 빌드합니다.
컴파일 오류 : ‘ASP.global_asax’유형이 두 DLL에 모두 있습니다.
필자의 경우 사전 컴파일 옵션을 사용하면 bin 폴더에 App_global.asax.dll 파일이 있으며 위의 오류 메시지가 발생합니다. 먼저 서버에서 App_global.asax.dll을 제거하고 응용 프로그램 풀을 다시 시작하면 문제가 사라집니다. 그런 다음 다른 접근 방식을 시도하고 사전 컴파일을 선택 취소하고 다시 게시하고 서버에 다시 배포하면 문제가 사라졌습니다.