2012-02-29 3 views
4

너무 많은 문제없이 정기적으로 내 사이트를 게시했습니다. 하지만 오늘은 기존 .cshtml 면도기 파일을 새 버전으로 덮어 쓰지 않을 것임을 알았습니다. 게시하고 폴더를보고 파일이 오래되었음을 확인합니다. 파일을 삭제하고 게시하면 새 버전이 배치됩니다. 그러나 파일이 이미 존재한다면 덮어 쓰지 않고 제작 웹 사이트는 구식입니다. '게시하기 전에 파일 삭제'옵션을 시도했지만 폴더를 삭제할 수 없다는 액세스 오류가 발생합니다. 전체 폴더를 삭제하려고했지만 내 .svn 폴더가 손실되어 버전 제어를 인식하지 못합니다.asp.net mvc publish가 cshtml 파일을 덮어 쓰지 않습니다.

게시 명령을 사용하여 .cshtml 파일을 최신 버전으로 강제로 덮어 쓸 수 있습니까? (참고 : dll 파일은 정상적으로 덮어 씁니다.)

+0

프로덕션 서버에 .SVN 폴더가있는 경우 _definitely_ 잘못된 작업을 수행해야합니다. 게시 된 웹 사이트를 다른 폴더로 이동하는 것이 좋습니다. –

+0

어떻게 게시하고 있습니까? Visual Studio에서 웹 배포 설정을 사용하고 있습니까? –

+0

게시하려면 VS 안에 있고 마우스 오른쪽 버튼으로 프로젝트를 클릭하고 파일 시스템을 사용하여 '게시'를 선택하십시오. – user441058

답변

2

읽기 전용 속성은 파일에 설정되어 있으므로 덮어 쓸 수 없습니다. VS 출력 창에서 오류의 흔적을 확인하십시오.

조언 : 소스 제어에 생성 된 파일 (게시 된 파일이있는 폴더도 포함)을 포함하지 마십시오. VCS 도구는 일반적으로 작업중인 파일을 잠그는 경향이 있습니다.

Test/Prod 서버에 .svn 파일이있는 것도 좋은 생각이 아닙니다.

+0

.cshtml 파일을 마우스 오른쪽 단추로 클릭하고 속성을 선택하면 읽기 전용 확인란이 선택 취소됩니다. 또한 서버에 .svn 파일을 저장하는 것이 좋지 않은 이유는 무엇입니까? 서버는 원격 서버이며 파일을 복사/붙여 넣기하는 것은 큰 어려움입니다. 그러나 서버에 원격으로 연결하고 마우스 오른쪽 단추로 클릭하면 업데이트 된 최신 파일을 쉽게 가져올 수 있습니다. – user441058

+0

.svn 파일은 단지 VCS 파일이므로 프로젝트에 전혀 포함되지 않습니다. 특히 대상 서버 특히. 또한 보안 위험이 있습니다. –

+0

@ user441058 : SVN은 게시를 염두에두고 설계되지 않았으며 대부분의 경우 파일 액세스에 큰 문제가있을 수 있습니다. 아마 당신의 질문은 그런 종류 일 것입니다. –

3

출력 디렉토리를 항상 복사로 설정 했습니까?

저는 Build Action = Content도 사용합니다.

관련 문제