2017-09-12 1 views
0

StackOverflow 및 ClickOnce를 사용하여 bin 폴더에 파일을 출력하려는 ​​경우 다른 문서를 찾았습니다.소스 파일이 WPF 응용 프로그램이 포함 된 ClickOnce가있는 하위 폴더에있는 경우 파일을 bin 폴더에 게시

BuildAction : Content

CopyToOuputDirectory : Copy if newer

하지만이 콘텐츠를 게시 할 때 내 프로젝트의 뿌리에 위치한 Dependencies 하위 폴더에있는 내 바이너리의 일부, 그들은되는 출력

<wpf app folder>\dependencies<wpf app folder>이 아니라 내 앱이 제대로 작동하지 않습니다.

ClickOnce이 특정 파일을 <wpf app folder>\에 출력하도록 변경하는 방법에 대한 제안 사항은 Source files의 위치와 상관없이 적용됩니다.

+0

프로젝트 -> 특성 -> 빌드 -> 출력 -> 출력 경로를 클릭하고 디버그 또는 다른 상대 경로 대신 ../Debug를 추가하십시오. – sTrenat

+0

문제는 빌드 위치가 아닌 ClickOnce 출력 응용 프로그램의 루트 폴더에 특정 파일을 복사하려면 하위 폴더에 포함 된 파일을 동일한 하위 폴더에 설치합니다. – Thierry

답변

0

나는 결국 내가 좋아하지 않는 해결 방법을 발견했지만 계속 진행해야한다. 이 문제를 피하기 위해 필요한 라이브러리를 프로젝트의 루트에 링크로 추가하고 BuildActionContentCopyToOutputDirectory에서 Copy if newer으로 설정했습니다.

좀 더 이해하기 쉽도록 예제로 설명하겠다고 생각했습니다.

프로젝트 경로 : C : \ 일 \ MyApp를하고 다음과 같은 하위 폴더가 포함

D : \ 일 \ MyApp를 \ MyApp.csproj D : \ 일 \ MyApp를 \ MyApp.xaml .. D : \ Work \ MyApp \ Bin \ Debug D : \ Work \ MyApp \ Bin \ Debug D : \ Work \ MyApp \ Bin \ Release dll D : \ Work \ MyApp \ Depedencies \ LibB.dll 등

이 라이브러리는 타사 도구이며 실제로 자신의 폴더에 포함되어 있습니다.

D : \ 도구 \ MyThirdPartyLib \ Distributation \ LibA.dll D : \ 도구 \ MyThirdPartyLib \ Distributation \ LibB.dll

D의 라이브러리를 가짐으로써 : \ 일 \ MyApp를 \ 종속성으로 작동하지 않았다

C : ClickOnce이있는 응용 프로그램을 설치합니다 사용자 \의 AppData \ 로컬 \ APPS \ 2.0 ... \ \\ MyApp.exe의

하고있는 종속성 하위 폴더에있는 파일을 설치 :

C : \ Users \ AppData \ Local \ Apps \ 2.0 ... \ Dependencies \ LibA.dll C : \ Users \ AppData \ Local \ Apps \ 2.0 ... \ Dependencies \ LibB.dll

이로 인해 내 앱이 작동하지 않습니다.

그것을 해결하기 위해, 나는 "링크 된 파일"로 내 프로젝트의 루트에 LibA.dll 및 LibB.dll를 추가 결국 설정하고 자신의 BuildActionCopyToOutputDirectory하지만 D

에 링크 된 파일을 가리키는하여 : \ Work \ MyApp \ Depedencies \ LibA입니다.DLL D : \ 일 \ MyApp를 \ Depedencies \ LibB.dll

대신을 가리키는 :

D : \ 도구 \ MyThirdPartyLib \ Distributation \ LibA.dll D : \ 도구 \ MyThirdPartyLib \ Distributation \ LibB .dll

그리고이 트릭을 수행 한 것 같습니다.

MyApp Solution 
    - MyApp Project 
     - MyApp.csproj 
     - MyApp.xaml 
     - ... 
     - LibA.dll 
     - LibB.dll 
     - ... 

하지만 지금은해야 할 것 : 그것에 대해 내 유일한 쇠고기는 지금 내가 좋아하지 않는 비주얼 스튜디오에서 내 프로젝트의 루트에 나와 10 개 이상한 파일을 가지고 있다는 것입니다.

다른 사람들에게 도움이되기를 바랍니다.

관련 문제