2013-07-24 6 views
0

실행 가능한 X 및 클래스 라이브러리 프로젝트 L1, L2가 포함 된 솔루션 S가 있습니다. 또한 설치 프로젝트 P가 있으며, Detected Dependencies PI의 폴더는 L1.dll, L2.dll을 봅니다. P는 이전 버전이 설치되어 있으면 제거하도록 설정됩니다.Visual Studio 2010 설치 프로젝트가 종속 DLL을 업데이트하지 않습니다.

다음으로 필자는 내가 P로 만든 설치 프로그램을 실행합니다. 출력 디렉터리를 비표준 디렉터리로 설정합니다 (X는 설치 위치에 로그 데이터 등을 쓸 수 있습니다). 모든 것이 잘됩니다.

이제 라이브러리 중 하나와 X 부분을 변경합니다. X를 다시 빌드합니다. P를 다시 빌드합니다. 설치 프로그램을 다시 실행하고 이전과 같은 디렉터리를 가리 킵니다. X.exe는 업데이트 된 것처럼 보이지만 L1.dll은 여전히 ​​이전 버전입니다. 왜 그런가?

+0

참고 - VS2012에서는 설치 프로젝트가 폐기되었습니다. 최대한 빨리 WiX 또는 다른 설치 기술로 이동하십시오. – YK1

답변

1

설치 프로젝트 P (설치 프로젝트 P를 확장하고 "종속 된 종속성"을 컨텍스트 클릭 한 다음 "종속성 새로 고침"을 선택)에서 종속성을 새로 고치면 종속 라이브러리를 강제로 업데이트합니다. 왜 이것이 자연스럽게 발생하지 않는지 완전히 확신 할 수는 없지만 솔루션의 구성 관리자 내에서 빌드 및 배포 옵션과 관련이있을 수 있습니다.

Visual Studio 2008에는 여러 Windows 모바일 응용 프로그램이 있으며 예방 차원에서 새 제작 설치 관리자를 만들기 전에 항상 종속성을 새로 고칩니다. 나는 당신과 비슷한 경우를 겪었고, 당신의 소프트웨어가 당신이 기대하는 바를하지 못하는 이유를 알아내는 것은 매우 혼란 스러울 수 있습니다.

관련 문제