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 配置数据放入 App.config 文件而不是 NLog.config 文件中,并且在使用 ClickOnce 部署后它也对我有用。没有错误,日志记录正在部署的应用程序上工作。

于 2010-08-24T17:39:57.110 回答
3

检查您的构建选项并确保 NLog.dll 包含在“应用程序文件”中,以便它位于“下载组”/必需中。

于 2010-06-22T13:52:58.527 回答
2

If your NLog assemblies are deployed to the GAC then you can't (simply) include that in a ClickOnce setup. Try to deploy them as local DLLs. If that is not possible you will need a separate Setup (or MSI) to deploy NLog.

于 2009-08-21T21:53:15.470 回答
0

将 dll 添加到您的项目并设置 BuildAction = None,并将“复制到输出目录”设置为“不复制”。

删除项目中对 NLog 的引用。重新添加引用并将其指向您刚刚添加到项目中的 dll。在引用的属性上,将“复制本地”设置为“真”。

现在,当您运行应用程序时,它将指向本地版本,而当您部署应用程序时,它将部署本地版本并指向它。

这适用于许多第 3 方 DLL,但不是全部。最好的办法就是尝试一下。

于 2010-06-22T17:23:06.790 回答