【问题标题】:ClickOnce deployment does not install as expectedClickOnce 部署未按预期安装
【发布时间】:2017-08-23 15:13:50
【问题描述】:

我有一个使用 .NET 4.61 开发的 WPF 应用程序,我使用 ClickOnce 来部署该应用程序。发布阶段运行没有错误,但是当我尝试安装时,安装程​​序会按预期下载 .NET 4.61。一旦完成(重新启动后),它会给出一个错误,说明需要在 GAC 中安装程序集 System.drawing.primitives.dll 版本 4.0.2.0。

.NET 461 默认不会在 GAC 中安装程序集吗?

信息

  • Windows 10 64 位

  • Visual Studio 2017

PS:我的开发机器上也存在同样的问题。

【问题讨论】:

  • System.drawing.primitives.dll 看起来像 .net 核心的包:nuget.org/packages/System.Drawing.Primitives。我认为您不能期望它与 .net461 一起安装。
  • 但我根本不使用 .net 内核!!!还是 Prism.Wpf 使用它?
  • 我确实查看了 Prism.Wpf 依赖项,但对 System.Drawing.Primitives 没有依赖项
  • 我有完全相同的问题,还发现有人报告了它。你可能想关注developercommunity.visualstudio.com/content/problem/111414/…
  • 到目前为止,我只能看到部署文件 .application 引发了该错误,而不是实际的 .exe

标签: .net wpf deployment clickonce


【解决方案1】:

我能够复制这个问题,但我知道的不够清楚,无法清楚地回答您的问题,但也许它可以帮助更有知识的人帮助回答它。

这似乎是与引用 .NET Standard 2.0 类库的 WPF 应用程序相关的问题。

以下是重现的步骤:

  • 在 Visual Studio 2017 中使用 WPF 应用程序创建一个新的解决方案,其中文件 > 新项目 > Visual c# > WPF 应用程序 (.NET Framework)
  • 构建和发布。 WPF 应用程序运行良好
  • 使用 File > Add > New Project > Visual C# > .NET Standard > 类库 > .NET Standard (.NET Framework 4.6.1) 将新项目添加到解决方案
  • 将 WPF 应用程序中的引用添加到 .NET 标准类库。
  • 构建和发布并尝试安装。

收到错误“无法安装或运行应用程序。应用程序要求首先在全局程序集缓存中安装程序集 System.Drawing.Primitives 版本 4.0.2.0。

我在 git 中复制了这个简单的项目。

https://github.com/colhountech/WPF_With_NetStandard

希望这可以帮助某人解决它。我在尝试解决的一个简单 WPF 项目中遇到了同样的问题。

【讨论】:

  • 是的,我也能够复制,我从无到有重新创建了我的应用程序,并添加了内容和发布,当我创建使用 efcore 的数据访问库时,我必须添加 .net 标准才能摆脱一个错误,指出在 .netstandard 中定义的类对象是未知的,一旦添加(.net 标准)我得到了 clickonce 错误
【解决方案2】:

我摆脱了这种烦恼。我花了很多时间浏览网页并尝试。实际的变化要少得多。

什么对我有用。

  • 如果有,请从项目文件中删除前面提到的所有额外包含。
  • 添加 AutoGenerateBindingRedirects,如 here 所述。
  • 切换到 .NET 4.7.1,您可以找到 here

【讨论】:

    【解决方案3】:

    我遇到了同样的问题。 为了解决它,我必须在 Publish 上的 Application Files...include 所有 必需 包标签。

    Publish configuration screenshot

    【讨论】:

    • 是的,我为我的应用程序做了同样的事情,但 IMO 它不是一个好的解决方案,clickonce 应该正确处理 efcore。
    猜你喜欢
    • 1970-01-01
    • 2014-11-25
    • 2017-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多