Visual Studio 2012 웹 게시에서 파일을 복사하지 않습니다


229

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에서 수정되었습니다.


1
이상하다. Publishing folder / ...가 표시되면 제대로 작동하는 것입니다. 나는 당신이 당신의 길을 확인하는 것이 좋습니다. 올바른 장소를보고 있는지 확인하십시오.
maxisam

14
Visual Studio 2012가 설치된 Windows 8에서 이런 일이 발생했습니다. 방금 새 게시 프로필을 만들었으며 작동합니다! VS 2012의 버그 일 수 있습니다. : /
T.Ho

3
나는 같은 문제가 있었다. 게시 프로필을 삭제하고 다시 만들면 속임수가되었습니다.
Tommy Jakobsen

3
프로파일을 삭제하고 다시 작성하면 나에게 속임수가되었습니다.
Michael Wells

3
Visual Studio 업데이트 2 또는 업데이트 3에서는이 문제가 해결되지 않았습니다. "허용 된 답변"(해결책이 아님) 다음에 가장 많이 사용되는 답변을 확인하십시오. 프로파일을 편집하고 "설정"탭에서 목록에서 올바른 구성을 선택하십시오 (릴리스가 양호한 경우 디버그, 저장을 선택한 다음 다시 편집하고 릴리스를 선택하십시오). 저장하고 게시하십시오.
firepol

답변:


78

이는 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


8
이 문제는 새로운 Visual Studio 2012 프로젝트에서 발생합니다. 과거에는 FTP를 통해 게시되었지만 이제는 게시하려고 할 때 위와 동일하게 수행됩니다. 성공했다고 말하고 성공하지 못했습니다. 출력을 obj dir에 빌드하지만 실제로는 서버로 출력하지 않습니다. 변경 구성 트릭은 문제를 해결합니다.
Chris Moschini

12
야! SP2에서는 여전히 고장났습니다!

6
방금 동일한 문제가 발생하여 게시 설정이 기본적으로 "Any CPU"로 설정되어 있지만 솔루션이 "x86"으로 설정되어 있다는 것을 깨달았습니다. x86으로 게시의 설정을 변경하면 문제가 해결되었습니다.
Sam

위의 해결책 중 어느 것도 나를 위해 작동하지 않습니다. 프로파일 삭제 및 재생성, 구성 변경 및 변경, VS 재시작, 모두 다시 작성 등 앱에서 새보기를 만들었습니다. 저기에있어. 볼 수 있습니다. 로컬로 실행하면 표시됩니다. 게시 할 때는 없습니다. 나는 업데이트 4를 가지고있다
Robert

나를 위해 유일한 것은 프로젝트에서 내보기를 삭제하고 다시 추가하는 것입니다. 여기에 새로운 것이 있다는 개념으로 IDE를 깨울 것 같습니다. 따라서 VS가 프로젝트 추가 및 뺄셈을 추적하는 모든 위치에 포함될 수 있습니다.
Robert

104

같은 문제입니다. 해결 방법은 게시 설정을 릴리스에서 디버그로 변경하는 것입니다. 다시 게시 한 다음 다시 릴리스로 변경하십시오.


네! 이것이 좋은 대답입니다. 필자의 경우 기본 "릴리스"또는 "디버그"프로필을 사용하지 않고 "DEV", "STAGE"및 "LIVE"를 사용합니다. 예를 들어 STAGE의 경우 TFS를 통해 솔루션을 다운로드 한 동료 컴퓨터에서 프로필이 "출시"(다른 모든 프로필과 동일)로 잘못 설정되었습니다. 그래서 나는 단순히 그것을 수정하고 "STAGE"(또는 다른 것들을위한 DEV / LIVE)를 가리켜 야했습니다. 게시가 작동했습니다. 감사합니다.
firepol

매력처럼 일했다. 이 답변은 허용 된 답변이어야합니다.
Aycan Yaşıt

39

이것을 조금 더 가져 가려면. 공개 프로파일을 작성할 때 작성되는 두 개의 파일이 있습니다.

  • NewProfile.pubxml
  • NewProfile.pubxml.user

소스 컨트롤의 PublishProfile 폴더에 이러한 파일이있는 프로젝트를 열면 .pubxml파일이 아닌 파일 만 가지 .publxml.user므로 .publxml.user프로젝트를 열 때 파일이 즉시 작성됩니다. .publxml.userXML을 즉시 생성하면 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가 다시 작동하기 시작합니다.


5
+1 그것은 나를 위해 보였다. 두 파일을 열고 새 프로파일을 작성한 후 비교하면 약간 더 쉬워집니다. 또한 팀에서 작업하는 경우 두 파일 모두 소스 제어에 체크인해야한다는 것을 알았습니다.
Deano

@Deano * .user 파일을 체크인 할 때 발생하는 문제는 더 이상 개별 (로컬) 프로젝트 사용자 정의 기능이 없다는 것입니다. 사용자 파일의 요점은 개별 팀 구성원이 자체 로컬 설정을 갖도록하는 것입니다.
Dave Riedl

".pubxml.user"파일을 소스 컨트롤에 추가하는 대신 다른 해결책이 있습니까?
Ubikuity

우리는 * .user 파일을 소스 제어에 커밋하지 않지만, 우연히, Continuous Integration 서버와 빌드 프로세스가이 모든 것을 관리하기 때문에 Visual Studio에서 게시 프로파일을 사용하지 않습니다.
Brett Rigby

21

쉬운 수정 방법은 게시 프로필을 삭제하고 새로 만드는 것입니다.

솔루션을 마우스 오른쪽 단추로 클릭하고 공개를 선택하면 프로파일 세트가 있습니다. 이것을 삭제하고 새로 만드십시오.

이 문제를 해결합니다.

2010에서 2012로 전환하는 데이 문제가있었습니다.


이것은 나를 위해 작동합니다. 내가하는 일은 로컬 컴퓨터에서 프로파일을 삭제하고 다시 작성하는 것이 었습니다. 이것은 다른 개발 시스템에는 영향을 미치지 않습니다.
Jean Jimenez

이 프로젝트를 vs2013에서 vs2012로 전환하는 데 문제가 있었으며 문제가 완전히 해결되었습니다
NikiUsefi

이것은 나를 위해 일했습니다. 다음 단계를 사용하여 (파일 시스템) 게시 프로필을 다시 작성했습니다. stackoverflow.com/a/20616521/381082
DeveloperDan

9

동일한 오류가 발생하여 설정을 릴리스에서 디버그로 변경 하면 문제가 해결되었습니다.


8

나는이 같은 문제가 있었지만이 스레드의 대답 중 어느 것도 나를 위해 일하지 않았다. 내 문제는 동적으로 생성 된 (내 응용 프로그램에 의해) 정적 HTML 파일이 들어있는 디렉토리가 있다는 것입니다. 전체 디렉토리가 공개되지 않았습니다.

나를 위해 일한 해결책은 여기 에서 발견 되었습니다 .

한 가지 문제가 발생하여 문서를 게시해야한다고 생각한 이유는 프로젝트를 게시 할 때 특정 파일 형식이 업로드되지 않았다는 것입니다.

해당 파일 형식은 .pdf 파일과 .rtf입니다.

이러한 파일 확장자는 Visual Studio에서 게시해야하는 것으로 인식되지 않았기 때문입니다. 다행히 이것은 Visual Studio에서 변경할 수 있습니다.

복사하지 않는 파일을 선택하십시오. 에 등록 이 확인 작업은 빌드 로 설정되어 콘텐츠 .

이것이 작동하지 않으면 다음을 시도 할 수 있습니다.

언더 프로젝트 메뉴 선택 / 패키지를 게시 웹 및이 드롭 다운주의 사항 :

여기에 이미지 설명을 입력하십시오

이 프로젝트 폴더의 모든 파일로 변경하십시오.


이것은 일부 파일 만 게시되었을 때 상황에 효과적이었습니다.
AndrewRalon

파일이 프로젝트에 제대로 포함되지 않았기 때문에 작동했습니다. 근본 원인과 해결 방법은
아래이

다음 대답은 무엇입니까?
Tomas Kubes

7

이는 .pubxml.user에 공개하는 데 필요한 정보가 포함되어 있고 해당 파일이 소스 제어에 포함되지 않아야하기 때문입니다. 이 VS 버그를 해결하려면 .pubxml.user 파일에서 .pubxml 파일로 정보를 복사하십시오. 관련 특성은 다음과 같습니다.

<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>

그것들을 .pubxml에 넣으면 좋을 것입니다.


7

나는이 모든 솔루션을 시도했지만 이것은 매번 작동하는 솔루션입니다.

"Publish method :"를 "File System"에서 "Web Deploy"로 변경하고 즉시 "File System"으로 다시 변경하면됩니다.


예, 이것이 마침내 저에게도 효과적이었습니다 (위의 다른 모든 제안을 시도했습니다). 이것은 vs2010입니다
Karen

5

여러 프로젝트에서 동일한 문제가 있습니다. 히트 한 유일한 것은 웹 프로젝트 인 것 같습니다. 프로파일을 삭제하고 다시 작성하면 문제가 한 번만 해결됩니다. 또한 publishxml 생성을 비교해도 아무런 차이가 없으므로 프로파일과 전혀 관련이없는 것으로 보입니다.

OP가 빌드 문제를 앞뒤로 변경하기 위해 언급 한 해결 방법은 현재 유일한 신뢰할 수있는 솔루션 인 것 같습니다.


같은 해결 방법도 나에게 유일한 해결책이었습니다. 명확히하기 위해 단계 : 빌드> 게시. 왼쪽에서 설정 탭을 선택하십시오. 빌드 구성을 다른 것으로 변경하십시오. 게시 프로필 이름 옆에 별표 (*)가 표시되어 버그가 차단되었음을 나타냅니다. 빌드 구성을 원하는 것으로 다시 변경하십시오. 정상적으로 게시를 진행하십시오. 결정된.
Chris Moschini

4

VS 2010에서 동일한 문제가 발생했습니다. 게시 출력, 이벤트 로그를 확인하고 Visual Studio 로그를 켜고 확인한 후 최근에 v1로 업데이트되었다고 생각되는 추가 / 제거를 통해 웹 게시를 제거하기로 결정했습니다. 0.30810.0. 문제가 해결되었습니다.


2
우리는이 문제가 있었는데 내 프로젝트 아래의 PublishProfiles 폴더에있는 pubxml.user 파일과 관련이있는 것 같습니다 . 문서 에이 파일이 나에게 특정한 설정에만 해당한다고 말 하더라도 기계에 생성 할 파일 목록이 있습니다. 따라서 소스 제어에 배치되지 않습니다). 나는 괜찮게 출판 할 수 있었다. 동료가 소스 코드를 새로 가져 와서 게시 할 수 없었습니다. 그의 pubxml.user 파일이 생성 될 때 파일이 나열되지 않았습니다. 업데이트 된 웹 게시를 제거했으며 모든 것이 다시 완료되었습니다.
Nick


4

다음은 나를 위해 일했습니다.

Release> Debug> Release (또는 그 반대)에서 변경 한 다음 게시하면됩니다.

불필요한 것을 삭제, 편집, 출판 할 필요가 없습니다.


4

내 문제는 myproject.csproj 파일의 구성이 잘못되었습니다. '_address-step1-stored.cshtml'파일이 게시시 복사되지 않았습니다. '없음'이 '콘텐츠'로 변경되었습니다. 이제 괜찮습니다. 여기에 이미지 설명을 입력하십시오


그거였다! 프로젝트에 소스 제어로 체크인되었지만 None.csproj 파일에서와 같이 표시 되었거나 프로젝트에서 완전히 누락 된 파일이 많았습니다 ( "사용되지는 않음")! 이것은 로컬에서 실행하는 것이 항상 효과가 있지만 출판은 결코 실패하지 않은 이유를 충분히 설명합니다. : D
AndrewRalon

3

디스크 게시 대상이있는 VS 2012 Pro와 동일한 문제입니다. 프로젝트가 올바르게 게시하는 데 사용되었지만 파일을 대상 폴더로 복사하지 못한 경우이 문제가 발생하기 시작했습니다.

해결책은 게시 프로파일을 편집하고 모드를 릴리스 (모든 CPU)에서 디버그로 변경 한 다음 다시 릴리스 (모든 CPU)로 변경하는 것입니다. 이렇게하면 PublishProfiles \ projname.pubxml.user 파일이 다시 작성됩니다 (위 설명 참조). 속성 그룹 노드 아래에 LastUsedBuild, LastUsedPlatform 및 TimeStampOfAssociatedLegacyPublishXmlFile 요소를 추가 한 것 같습니다. 게시가 완료되면 개별 파일과 게시 시간이있는 다른 항목 그룹이 추가됩니다.


1

이 행동은 나에게 성공했다 :

"속성> PublishProfiles> xxxx.pubxml"에서 게시 프로파일을 종료하고 다시 설정하십시오.


1

가치있는 것을 위해 결국 Web Deploy와의 싸움을 포기하고 원하는대로 (배포 가능한 파일을 복사하고 다른 것은 복사하지 않음) PowerShell에 스크립트를 작성하여 결과에 만족했습니다. 그것은이다 훨씬 MSBuild를 / 웹 그 방법이 여전히 필요하지 않은 일을했다 아마도 때문에, 게시를 통해 내가 노력 무엇보다 더 빨리.

여기서 요점은 (의 문자 ) :

function copy-deployable-web-files($proj_path, $deploy_dir) {
  # copy files where Build Action = "Content" 
  $proj_dir = split-path -parent $proj_path
  [xml]$xml = get-content $proj_path
  $xml.Project.ItemGroup | % { $_.Content } | % { $_.Include } | ? { $_ } | % {
    $from = "$proj_dir\$_"
    $to = split-path -parent "$deploy_dir\$_"
    if (!(test-path $to)) { md $to }
    cp $from $to
  }

  # copy everything in bin
  cp "$proj_dir\bin" $deploy_dir -recurse
}

필자의 경우 CI 환경 (TeamCity)에서 이것을 호출하고 있지만 빌드 후 이벤트에도 쉽게 연결할 수 있습니다.


1

대상 위치를 obj / [release | stage | ..]에서 솔루션 폴더 외부의 새 경로 (예 : c : \ deployment)로 변경 하여이 문제를 해결할 수 있음을 알았습니다. VS 2012가 혼란스러워 게시 프로세스 중 어딘가에서 포기한 것처럼 보입니다.

매트


1

VS 2013에서 최근 Umbraco CMS를 가져온 MVC 프로젝트와 동일한 문제가있었습니다. 게시 할 수 없습니다. 위의 대답은 도움이되었지만 VS에서 실제로해야 할 일을 알아내는 데 시간이 필요했습니다. 예를 들어 MS 블로그에 대한 조사가 필요했습니다. 나는 간단하게 말하려고합니다.

  • VS 도구 모음에서 Release 및 Any CPU와 같은 특정 구성을 선택하십시오. 프로젝트를 실행하십시오.
  • 그런 다음 해당 솔루션의 솔루션 탐색기를 마우스 오른쪽 버튼으로 클릭하고 게시를 선택합니다. 새 게시 프로필을 만들거나 지정된 프로필을 사용하십시오. 그러나 마지막으로 프로젝트를 실행하기 전에 항상 설정에서 동일한 구성 (예 : 릴리스 및 모든 CPU)이 선택되어 있는지 확인하십시오.
  • 또한 필자의 경우 VS를 다시 시작하고 모든 게시 프로필을 삭제했지만 마지막으로 실패한 게시 시도의 설정이 중단 되었기 때문에 OBJ 폴더 를 삭제해야했습니다 .

0

솔루션에 다른 여러 참조 프로젝트가있는 웹 응용 프로그램이 있습니다. 과거에 단일 게시 구성으로 여러 번 성공적으로 배포했습니다. 과거에 놓친 프로젝트의 프로젝트 구성을 디버그에서 릴리스로 변경했습니다. 다음에 배포하려고 할 때 게시가 조용히 실패하는 다음과 같은 증상이 나타났습니다. 아무 것도하지 않고 성공했다고 말합니다.

1>------ Build started: Project: Project, Configuration: DeployProduction Any CPU ------
1>  
2>Publishing folder /...
========== Build: 1 succeeded, 0 failed, 9 up-to-date, 0 skipped ==========
========== Publish: 1 succeeded, 0 failed, 0 skipped ==========

복구하는 유일한 방법은 게시 프로필을 지우고 Visual Studio를 닫아 삭제를 저장 한 다음 다시 열고 게시 프로필을 처음부터 다시 만드는 것입니다. 그런 다음 다시 게시 할 수있었습니다.

Win8 VS2012, 엉터리 노트북.


0

Visual Studio 2012에서 릴리스간에 전환하면 여전히 문제가 발생합니다.

obj폴더 를 삭제하기 위해 빌드 전 이벤트를 추가했으며 del /s /f /q $(ProjectDir)\obj게시 문제가 해결되었습니다. 청소는 때때로 작동하지만 항상 그런 것은 아닙니다.


0

나는 마침내 스스로 답을 찾았다. 위의 모든 솔루션이 저에게 효과적이지 않습니다.

내가 한 일은 프로젝트를 c 드라이브로 이동하여 프로젝트 폴더를 더 짧게 변경하고 게시하는 것입니다.

그것이 내 편에서 실패한 이유는 내가 매우 긴 프로젝트 이름 / 별명을 가지고 있기 때문입니다.

C : \ Users \ user \ Desktop \ Compliance Management System \ ComplianceIssueManagementSystem \ ComplianceIssueManagementSystem

나는 때때로 rar 파일을 추출 할 때 이름 / 경로가 너무 길다고 말했기 때문에 이것을 생각했습니다. Visual Studio 2012 게시와 동일하다고 생각했습니다. 그리고 그렇습니다!

그것이 당신에게 도움이되기를 바랍니다.


0

현재 프로젝트에서 동일한 클래스 이름과 다른 페이지 이름으로 복사했는지 여부를 확인하십시오 (클래스 이름은 복사 된 파일을 상속 함). 궁극적으로 컴파일러를 혼동시킬 것입니다 !!!

CodeFile = "Consolidated.aspx.vb"상속 = "연결됨


0

위의 해결책 중 어느 것도 나를 위해 일하지 않았습니다.

그러나 주요 솔루션에 포함 된 5 개의 ASP.NET MVC 프로젝트 중 4 개는 배포 패키지를 올바른 위치에 배치하고 나머지 하나는 obj \ Debug 아래에 두었습니다.

나는 프로젝트를 비교하고 불일치를 발견했습니다. 해결책은 이것을 변경하는 것이 었습니다 .

<Import
    Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

이것에 :

<Import
  Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets"
  Condition="'$(VSToolsPath)' != ''" />
<Import
  Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets"
  Condition="false" />

이 변경을 수행 한 후 5 개의 프로젝트 모두 배포 패키지를 올바른 위치에 배치합니다.

(긴 줄은 미안하지만, 그것들을 응축시키는 더 좋은 방법을 찾을 수 없었습니다.)


나는 나의의 .vbproj 파일이 이미 <가져 오기> 모두를 가지고, 당신이 제안 요소 파일이나이 간과하고 서버에 게시되지 얻을 것으로 보인다 상황을 겪고 있지만 해요
bkwdesign

0

Visual Studio에서 생성 한 서비스 참조 파일이 전체 경로 길이 측면에서 너무 길어짐에 따라이 문제가 발생했습니다.

svcutil.exe를 사용하여 서비스 참조를 다시 생성하여 원본 서비스 참조 파일을 모두 삭제하여 파일 길이를 줄였습니다.

svcutil은 다음과 같이 호출 될 수 있습니다.

"C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\SvcUtil.exe" /language:CS http://myservice /namespace:*,My.Namespace

컴파일 오류를 방지하려면 My.Namespace를 생성 된 서비스 프록시 (일반적으로 Reference.cs 파일에 있음)에서 기존 네임 스페이스로 바꿔야합니다.

http://myservice 서비스 엔드 포인트 URL로 바꿔야합니다.


0

나는 같은 문제에 봉착했다. 위의 해결책 중 어느 것도 나를 위해 일하지 않았습니다.

따라서 게시하는 동안 복사하지 못한 파일은 제외했습니다.


0

나는 웹 사이트를 여러 번 출판했다. 그러나 어느 날 aspx 파일을 수정하고 웹 사이트를 게시하려고 시도했을 때 빈 게시 폴더가 생겼습니다.

해결 방법에서 해결책을 찾았습니다.

  1. 게시 마법사는 게시하는 동안 오류를 반영하지만 파일을 대상 폴더로 복사하지는 않습니다.

  2. 오류를 생성하는 파일을 찾으려면 웹 사이트 폴더 내용을 새 폴더에 복사하고 해당 웹 사이트로 Visual Studio를 시작하십시오.

  3. 이제 게시하려고하면 오류가 포함 된 파일 이름이 표시됩니다.

  4. 원래 웹 사이트 폴더의 오류를 수정하고 게시하려고하면 이전과 동일하게 작동합니다.


0

다음 단계를 수행하여 해결하십시오.

Build > Publish > Profile > New

새 프로파일을 작성하고 기존 프로파일과 동일한 설정으로 구성하십시오.

프로젝트가 이제 올바르게 게시됩니다. 이것은 종종 최신 버전의 Visual Studio에서 생성 된 다른 컴퓨터의 소스 제어 게시 프로필의 결과로 발생합니다.


0

수정 됨 -제공된 다양한 솔루션이 작동하지 않았습니다. VS Community 2017에서 나를 위해 일한 것은 Windows Server 2012 R2 가 사용자의 TEMP 및 TMP 환경 변수를 변경 한 다음 시스템다시 시작하고 다시 배포하는 것입니다 (VS를 다시 시작하는 것만으로는 충분하지 않음). 이 임시 변수는 VS가 임시 게시를 수행하는 위치입니다.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

임시 변수를 변경 한 후 Visual Studio를 다시 시작해도 문제가 발생하지 않았습니다. 시스템을 재부팅해야했습니다.


-1

먼저:

  • 릴리스 구성으로 빌드하십시오.
  • 프로젝트 속성-> 페이지의 패키지 / 게시 웹에서 모든 파일 및 폴더를 선택하십시오.
  • 용액을 재 구축합니다 (청소 용액 후).
  • 이제 게시하십시오.

게시하는 동안 선택한 항목을 다시 확인하십시오.
이 작업을 수행해야합니다. 그것은 나를 위해했다! :)


-2

가장 쉬운 방법은

   1. select the file(s) that are not being copied,
   2. Press <F4> to get the properties window
   3. Make the "Build Action" property "compile" or "content" depending on what it is.
   4. Now this particular file will be included!
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.