2

ユーザーは ClickOnce アプリケーションをインストールできません。エラーは次のとおりです。「ファイル NLog.dll は、有効なポータブル実行可能 (PE) ファイルではありません。」私のマシンでは問題なく動作しますが、nLog がインストールされています。これは、クライアント マシンでは不可能です。これを機能させる方法はありますか?

4

5 に答える 5

8

NLog.configを使用してインストールした場合、プログラムにコピーされない場合に、この問題に対する答えが見つかりましたClickOnce

使用中のNLog.configファイルを選択し、次のように設定する必要があります。ProjectSolution ExplorerProperties

  • ビルド アクション: コンテンツ
  • 出力ディレクトリにコピー: 常にコピー

これで、ファイルを使用してデプロイするときにClickOnceもコピーする必要があります! :)

于 2012-12-12T18:23:07.067 に答える
7

すべてのNLog構成データをNLog.configファイルではなくApp.configファイルに配置しましたが、ClickOnceを使用して展開した後も機能しました。エラーはなく、デプロイされたアプリケーションでログが機能していました。

于 2010-08-24T17:39:57.110 に答える
3

ビルド オプションを確認し、NLog.dll が「アプリケーション ファイル」に含まれていることを確認して、「ダウンロード グループ」/必須に含めます。

于 2010-06-22T13:52:58.527 に答える
2

NLog アセンブリが GAC に展開されている場合、それを (単純に) ClickOnce セットアップに含めることはできません。それらをローカル DLL として展開してみてください。それが不可能な場合は、NLog を展開するために別のセットアップ (または MSI) が必要になります。

于 2009-08-21T21:53:15.470 に答える
0

dll をプロジェクトに追加し、BuildAction = None を設定し、「出力ディレクトリにコピー」を「コピーしない」に設定します。

プロジェクトで NLog への参照を削除します。参照を再度追加し、プロジェクトに追加したばかりの dll をポイントします。参照のプロパティで、「ローカルにコピー」を「true」に設定します。

アプリケーションを実行すると、アプリケーションはローカル バージョンを指し、アプリケーションを展開すると、ローカル バージョンを展開してそれを指します。

これは多くのサードパーティ DLL で機能しますが、すべてではありません。試してみるのが一番です。

于 2010-06-22T17:23:06.790 に答える