program tip

VS2010 프로젝트에 파일을 포함하여 빌드 또는 게시 중에 자동으로 빌드 출력 디렉토리에 복사하는 방법

radiobox 2020. 11. 11. 19:41
반응형

VS2010 프로젝트에 파일을 포함하여 빌드 또는 게시 중에 자동으로 빌드 출력 디렉토리에 복사하는 방법


작업은 Visual Studio 2010 프로젝트를 구성하여 빌드하거나 게시하는 동안 일부 foo.exe유틸리티를 출력 ( bin) 디렉터리에 복사해야합니다 .

일찍 나는 .csproj (MSBuild-file)에서 PostBuildEvent 작업을 만들었습니다.

<PropertyGroup>
  <PostBuildEvent>
    Copy "$(SolutionDir)Tools\foo.exe" "$(ProjectDir)$(OutDir)foo.exe"
  </PostBuildEvent>
</PropertyGroup>

그러나 이것은 보편적이지 않습니다. (비주얼 스튜디오 2010) 게시하는 동안 foo.exe나타납니다 bin디렉토리하지만, 디렉토리를 게시 출력에 복사되지 않습니다. 아마도 내가 모든 것을 완전히 잘못하고 나중에 빌드 또는 게시 중에 복사 할 프로젝트에 파일을 포함시키는 표준 메커니즘이 bin있습니까?


빌드 후 이벤트가 있으며 종속되지 않습니다.

프로젝트에 파일을 추가 한 다음 파일 속성에서 "출력 디렉터리로 복사"에서 "항상 복사"또는 "최신 인 경우 복사"를 선택합니다.

MSDN을 참조하십시오 .


빌드하는 동안 파일 만 푸시하면되므로 다음과 같이 빌드 후 이벤트 명령 줄 항목을 추가했습니다.

Copy /Y "$(SolutionDir)Third Party\SomeLibrary\*" "$(TargetDir)"

솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭 한 다음 속성> 빌드 이벤트를 클릭하여 설정할 수 있습니다.


솔루션 탐색기에서 출력 디렉터리에 복사 할 파일을 선택하고 두 가지 속성을 할당하십시오.-빌드 작업 = 콘텐츠-출력 디렉터리에 복사 = 항상 복사

이것은 트릭을 할 것입니다.


  1. 프로젝트에 파일을 추가하십시오.
  2. 해당 파일의 속성으로 이동합니다.
  3. "Build Action"을 Embedded Resource로 설정합니다.
  4. "출력 디렉토리로 복사"를 항상 복사로 설정하십시오.

내 경우에는, 설정 Copy to Output DirectoryCopy Always한 재 구축하면서, 트릭을하지 않았고 빌드.

이것이 누군가를 돕기를 바랍니다!


서비스 / 웹 프로젝트 에서 누락 된 dll에 대한 참조를 직접 추가해보십시오 . 다른 프로젝트에 대한 참조를 추가해도 효과가 없었습니다.

필요한 dll을 모두 복사하지 않았기 때문에 웹 앱을 게시 할 때만이 작업을 수행해야했습니다.


신경 장애가있는 동료들이 여기에서 기회를 잡을 수 있도록 웹 프로젝트의 경우 링크 된 파일이 외부 .config 파일 인 경우 "출력 디렉토리"가 web.config가있는 동일한 디렉토리라고 가정했습니다. 즉 웹 프로젝트의 루트입니다. 돌이켜 보면 링크 된 파일을 root / bin 폴더에 복사하는 것은 전혀 놀라운 일이 아닙니다.

따라서 appSettings 포함 파일 인 경우 web.config의 열기 태그는

<appSettings file=".\bin\includedAppSettingsFile.config">

이런.

참고 URL : https://stackoverflow.com/questions/4596508/vs2010-how-to-include-files-in-project-to-copy-them-to-build-output-directory-a

반응형