최근에 백 버너에있는 웹 사이트 프로젝트로 돌아 왔습니다. 작업을 시작한 이후 Visual Studio Development Server에서 실행될 때 CSS와 자바 스크립트 변경 사항이 응용 프로그램에서 인식되지 않는 것으로 나타났습니다. 이것은 이전에 잘 작동했습니다. 스타일 시트와 자바 스크립트를 변경하고 앱과 테스트를 실행할 수 있습니다. 이제 응용 프로그램을 테스트 할 수있는 유일한 방법은 로컬 IIS 서버에 응용 프로그램을 게시하는 것입니다 (PC를 다시 시작해도 문제가 해결된다고 생각합니다).
Visual Studio 2008 (9.0.30729.1) 사용
정확하게 작동하고 있다고 확신 한 이후에 변경된 것은 Vista x64 Home Premium Edition에서 Win 7 x64 Ultimate로 운영 체제이며 c :에서 d :로 프로젝트 소스를 옮겼습니다. 나는 C로 돌아 갔지만 동일한 부정적인 결과를 얻었습니다. 또한 웹 사이트가 디버그에서 시작될 때 디버그에 배치되는 콘솔 앱 (2 개의 서비스 호스트)이 호스팅하는 별도의 WCF 서비스에서 일부 기능을 제거했습니다.
dev 서버를 중지해도 아무런 반응이 없습니다. VSS 2005를 사용하여 모든 파일을 체크 아웃하여 읽기 전용이 아닌지 확인하십시오. 작동하는 유일한 것은 IIS에 게시하거나 내 컴퓨터를 다시 시작하는 것입니다. 둘 다 바람직하지 않습니다. 디버깅을 중지 할 때마다 종료해야하는 프로세스가 있으면 이전 버전의 사본을 사용하지 않도록 처리해야하는 경우에도 만족합니다.
어떤 솔루션?
- 답변 # 1
- 답변 # 2
빠른 방법은 스크립트 또는 CSS 파일의 src 속성 뒤에 임의의 매개 변수를 추가하는 것입니다. 예를 들어
<script type="javascript" src="@Url.Content("~/scripts/myScripts.js?" + DateTime.Now.ToString("ddMMHHmmss")"></script>
브라우저는 항상 새로운 파일을 가정하고 캐시하지 않습니다.
실시간 서버에 배포 할 때는이 항목을 제거하십시오.
- 답변 # 3
사용하기
<link href"~/Content/Style.css" rel="stylesheet"/>
관련 자료
- javascript : 내 라이브 서버가 Visual Studio code에서 작동하지 않는 이유는 무엇입니까?
- c# - Visual Studio가 Microsoft SQL Server Management Studio에서 데이터를로드하지 않음
- 명명 규칙을 사용하여 특정 파일을 삭제하기위한 Visual Studio 사전 빌드 이벤트
- Visual Studio Code에서 C ++ 용 새 클래스를 만드시겠습니까?
- SQL Server Management Studio 2017로 T-SQL을 디버깅하는 방법은 무엇입니까?
- c# - 기존 Unity 프로젝트에 Visual Studio를 설정하는 방법은 무엇입니까?
- Python Venv는 Visual Studio 코드에서 errno 2를 제공합니다
- Visual Studio Code에서 Python 파일을 포맷 할 수 없습니다 " 'python'- 파일이 설치되어있는 문서 포맷터가 없습니다"
- git bash - Visual Studio에서 병합 충돌 해결이 비활성화되어 있습니다
- Mac 용 Visual Studio가 Android 프로젝트에서 XamarinFormsFormsMaterial 클래스를 찾지 못함
- c# - Visual Studio Common 2019에서 프록시 설정 요청
- Visual Studio에서 특정 키워드를 인식하게하는 방법
- c# - Visual Studio 솔루션 참조
- ID가 인 Visual Studio 2017 프로세스가 실행 중이 아닙니다
- Visual Studio 2017의 Visual Studio 2019 C # 코드 색상
- c# - Visual Studio의 HTML 단추가 두 번 클릭 될 때 이벤트 핸들러를 작성하지 않는 이유는 무엇입니까?
- msbuild - Azure DevOps에서 Visual Studio 빌드 작업이 실패합니다내 Net Framework 참조 프로젝트는 Net Core입니까?
- Visual Studio code는 c++에서 선언하고 정의한 클래스를 찾을 수 없습니다.
- c# - ASPNET에서 Visual Studio가 사용자 처리 예외에서 중단되지 않음
- Python IDLE에서 작동하지만 Visual Studio에서는 작동하지 않는 코드?
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- JavaScript 변수를 HTML div에 '출력'하는 방법
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- python - 화면에서 찾은 요소를 찾을 수없는 경우 셀레늄
서버가 캐시 된 사본을 계속 사용하게하는 헤더를 브라우저로 보내고있을 수 있습니다. 이를 테스트하는 간단한 방법은 브라우저 캐시를 비우는 것입니다.
이 문제가 해결되면 서버에서 얻는 HTTP 헤더를 연구해야합니다. 선택한 브라우저의 개발자 도구 (일명 F12 도구)는 서버에서 반환 한 헤더를 표시합니다. 그런 다음 이러한 캐싱 설정을 계속 사용 (속도에 적합)하거나 변경 (개발에 적합)할지 결정하십시오.
이 헤더를 어떻게 조정합니까? 서버에 따라 다릅니다. 다음은 일반적인 서버에 대한 지침에 대한 링크입니다.
아파치
nginx
IIS