2009-05-04 4 views
0

VS2008을 사용하여 ClickOnce 솔루션을 만들었습니다. 내 메인 프로젝트는 COM DLL을 "링크"로 참조하는 다른 프로젝트를 참조합니다.ClickOnce 및 References

VS에서 솔루션을 빌드 할 때 orther 프로젝트의 dll이 내 bin 폴더로 이동되지만 프로젝트를 게시하고 시작하면이 파일은 로컬 Settings \ Apps \ 2.0 ... 폴더에 없습니다.

내가 내 주요 프로젝트의 기준으로 다른 프로젝트의 각 DLL을 추가 할 수 있습니다하지만 난 청소기 솔루션을 원하는 것을 알고

...

은 가능합니까?

답변

2

먼저 해당 파일을 프로젝트에 직접 추가하십시오. 다음 고토 응용 프로그램 속성 -> 게시가 - 당신은 당신이 필요로하는 파일을보고하지 않는 경우> 응용 프로그램 파일

선택은 "모든 파일"은 "포함"자신의 게시 상태를 설정하지 "(자동)을 포함". 이것은 중요하거나 추가되지 않습니다.

파일을 업데이트하는 경우 파일을 삭제하고 다시 추가해야합니다 ( ). 게시 상태를 다시 설정해야합니다. 이것은 작은 버그입니다.

더 많은 정보를 원하시면 광산의 이전 질문을 참조 : ClickOnce - Overwriting content files

+0

Ok thx 각 파일을 추가하겠습니다. 그것은 가장 간단한 솔루션입니다 ... – pebg

+1

'Include-auto'와 Include의 차이점은 무엇입니까? –

+0

include-auto Visual Studio에서 포함 여부를 결정합니다. '포함'을 사용하여 VS에 강제 포함해야합니다. – TimothyP

0

프로젝트의 게시 탭에서 "응용 프로그램 파일"대화 상자를 열어야합니다. 여기에서 각 파일의 게시 유형 (포함, 필수 조건 등)을 설정할 수 있습니다.

관리되지 않는 DLL 인 경우 실제 .dll 파일을 프로젝트에 추가하고 빌드 동작을 "데이터"로 표시해야합니다. 그런 다음 해당 파일의 게시 유형을 포함으로 설정할 수 있습니다.

+0

좋아, 이미 참조 된 프로젝트에 이미 포함되어 있어도 내 COM 프로젝트 DLL에 각 DLL을 추가해야합니까? – pebg

+0

실제로 참조로 포함 된 경우 파일의 게시 상태를 "포함"으로 수정하면됩니다. 포함되지 않은 경우 (예 : pinvoke를 통해 함수를 사용하는 경우) 수동으로 추가해야합니다. –

+0

또한 Timothy가 말한 것처럼 메모를 보려면 "모든 파일 표시"를 선택해야 할 수도 있습니다. –

0

내가 같은 문제 .... 많은 옵션을 거쳐이 문제를 해결하는 유일한 방법이 있었다, 참고로 그 DLL을 추가했다.

작동하지만 나중에 더 깨끗한 해결책이 있기를 바랍니다.