[asp.net] Visual Studio 2012 웹 게시에서 파일을 복사하지 않습니다
VS 2012에 웹 응용 프로그램 프로젝트가 있으며 웹 게시 도구를 사용하면 성공적으로 빌드되지만 게시 대상 (이 경우 파일 시스템)에 파일을 복사하지 않습니다.
빌드 출력을 보면 모든 것이 obj \ Release \ Package \ PackageTmp \에 올바르게 복사되는 것을 볼 수 있지만 빌드 출력에 보이는 것은 다음과 같습니다.
4> 빌드 프로젝트 “{Project} .csproj”를 완료했습니다.
4> 기존 파일 삭제 …
4> 게시 폴더 / …
4> ========== 빌드 : 3 성공, 0 실패, 1 최신, 0 건너 뛰기 ===== =====
========== 게시 : 1 성공, 0 실패, 0 건너 뛰기 ==========
공개에 성공했다고하더라도 공개 대상 디렉토리에 파일이 없습니다.
여러 프로젝트에서 이것을 보았고 때로는 솔루션 / 플랫폼 구성으로 인해이 문제가 발생하는 것처럼 보이지만 정확한 원인을 찾아 낼 수 없었습니다.
다른 사람이 이런 일이 발생했거나 올바르게 작동하는 방법에 대한 아이디어가 있습니까?
최신 정보:
이에 대한 해결 방법을 찾았을 것입니다. 방금이 문제가 다시 발생했으며 게시 설정이 엉망이었습니다. 설정 탭에서 선택한 구성을 다른 구성으로 변경 한 다음 다시 구성으로 변경하면 모든 파일을 다시 사용하기를 원했습니다. 바라건대 이것은 앞으로 다른 프로젝트에서 작동하기를 바랍니다.
업데이트 2 :
Microsoft Connect에 버그를 게시하고 VS 웹 개발자 팀의 개발자로부터 답변을 받았습니다. 그는 내부 빌드에서이 문제를 해결했으며 게시 도구에 대한 업데이트를 곧 릴리스하여이 문제를 해결할 것이라고 말했다.
업데이트 3 :
이것은 최근 Visual Studio 2012 업데이트 2에서 수정되었습니다.
답변
이는 RC vsvs2012로 생성 된 솔루션 / 프로젝트로 인해 발생할 수 있습니다. 이것은 몇 달 전에 일어 났으며 솔루션 빌드 구성이 프로젝트 구성과 일치하도록하여 문제를 해결했습니다 …
VS2012 Express for Web을 사용하여 vs2012RC에서 처음 만든 동일한 솔루션을 열 때 최근에 동일한 문제가 발생했습니다. 나는 원래 포스터가 제안한 것을 정확하게 수행했고 내 문제를 해결했다.
다음은 답변으로 연결되는 스레드입니다.
connect.microsoft.com/VisualStudio/feedback/details/746321/publish-web-application-fails
위의 대화에서 나에게 도움이 된 적절한 답변은 다음과 같습니다.
Microsoft가 2012 년 6 월 13 일 12:00 PM에 게시 함 안녕 Andrew,
이는 솔루션 구성과 프로젝트 구성을 처리하는 방식에있어 버그였습니다. 우리는 그것들이 동일하다고 가정했습니다 (예를 들어, 솔루션의 Release | x86은 각각의 프로젝트를 Release | x86로 설정했을 것입니다).
해결 방법은 솔루션 구성 및 빌드 구성을 일치시키는 것입니다. 이 문제는 다음 Visual Studio 2012 릴리스에서 해결 될 예정입니다.
감사합니다-Visual Web Developer 팀 Jimmy Lewis SDET
답변
같은 문제입니다. 해결 방법은 게시 설정을 릴리스에서 디버그로 변경하는 것입니다. 다시 게시 한 다음 다시 릴리스로 변경하십시오.
답변
이것을 조금 더 가져 가려면. 공개 프로파일을 작성할 때 작성되는 두 개의 파일이 있습니다.
NewProfile.pubxml
NewProfile.pubxml.user
소스 컨트롤의 PublishProfile 폴더에 이러한 파일이있는 프로젝트를 열면 .pubxml
파일이 아닌 파일 만 가지 .publxml.user
므로 .publxml.user
프로젝트를 열 때 파일이 즉시 작성됩니다. .publxml.user
XML을 즉시 생성하면 XML은 다음과 같습니다.
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>
새 프로파일을 작성하면 다음과 같은 xml이 작성됩니다.
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<TimeStampOfAssociatedLegacyPublishXmlFile />
<EncryptedPassword />
</PropertyGroup>
</Project>
<PropertyGroup>
노드 를 가져 와서 .pubxml.user
파일에 넣으면 PublishProfiles가 다시 작동하기 시작합니다.
답변
쉬운 수정 방법은 게시 프로필을 삭제하고 새로 만드는 것입니다.
솔루션을 마우스 오른쪽 단추로 클릭하고 공개를 선택하면 프로파일 세트가 있습니다. 이것을 삭제하고 새로 만드십시오.
이 문제를 해결합니다.
2010에서 2012로 전환하는 데이 문제가있었습니다.
답변
동일한 오류가 발생하여 설정을 릴리스에서 디버그로 변경 하면 문제가 해결되었습니다.
답변
나는이 같은 문제가 있었지만이 스레드의 대답 중 어느 것도 나를 위해 일하지 않았다. 내 문제는 동적으로 생성 된 (내 응용 프로그램에 의해) 정적 HTML 파일이 들어있는 디렉토리가 있다는 것입니다. 전체 디렉토리가 공개되지 않았습니다.
나를 위해 일한 해결책은 여기 에서 발견 되었습니다 .
한 가지 문제가 발생하여 문서를 게시해야한다고 생각한 이유는 프로젝트를 게시 할 때 특정 파일 형식이 업로드되지 않았다는 것입니다.
해당 파일 형식은 .pdf 파일과 .rtf입니다.
이러한 파일 확장자는 Visual Studio에서 게시해야하는 것으로 인식되지 않았기 때문입니다. 다행히 이것은 Visual Studio에서 변경할 수 있습니다.
복사하지 않는 파일을 선택하십시오. 에 등록 이 확인 작업은 빌드 로 설정되어 콘텐츠 .
이것이 작동하지 않으면 다음을 시도 할 수 있습니다.
언더 프로젝트 메뉴 선택 / 패키지를 게시 웹 및이 드롭 다운주의 사항 :
이 프로젝트 폴더의 모든 파일로 변경하십시오.
답변
이는 .pubxml.user에 공개하는 데 필요한 정보가 포함되어 있고 해당 파일이 소스 제어에 포함되지 않아야하기 때문입니다. 이 VS 버그를 해결하려면 .pubxml.user 파일에서 .pubxml 파일로 정보를 복사하십시오. 관련 특성은 다음과 같습니다.
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
그것들을 .pubxml에 넣으면 좋을 것입니다.