2017-09-12 4 views
0

StackOverflowやその他の場所で、ClickOnceを使用してファイルをbinフォルダに出力する場合は、ソースファイルがWPFアプリケーションのClickOnceでサブフォルダにある場合、ファイルをbinフォルダにパブリッシュする

BuildActionContent

​​:Copy if newer

が、私のバイナリのいくつかは、私のプロジェクトのルートにあるDependenciesサブフォルダに配置されていると私はコンテンツを公開するとき、彼らは出力されています

<wpf app folder>\dependencies<wpf app folder>の代わりに、私のアプリが正しく機能しません。

私は関係なく、Source filesが配置されている場所の<wpf app folder>\に出力特定のファイルへClickOnceを強制的にこれを変更する方法上の任意の提案。

+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¥Release D:¥Work¥MyApp¥Bin¥Release¥MyApp.exe D:¥Work¥MyApp¥Depedencies¥LibA。 dll D:\ Work \ MyApp \ Depedencies \ LibB.dll など

ライブラリはサードパーティのツールであり、実際には自分のフォルダに含まれています:

D:\ツール\ MyThirdPartyLib \ Distributation \ LibA.dll D:\ツール\ MyThirdPartyLib \ Distributation \ LibB.dll

Dでのライブラリを有することにより:\作業\ MyAppに\依存関係として動作しませんでした

C:ClickOnceがでアプリをインストールしますUsers \ユーザーのAppData \ローカル\アプリ\ 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 
     - ... 

しかし、それは今のために行う必要があります:それについての私の唯一の牛肉は、今私は、私は好きではないVisual Studioでの私のプロジェクトのルートにリストされている10個の奇数のファイルを持っていることです。

他人に役立つことを願っています!

関連する問題