ClickOnce部署未按预期安装

时间:2017-08-23 15:13:51

标签: .net wpf deployment clickonce

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

默认情况下.net461不会在GAC中安装程序集吗?

信息:

Windows 10 64位

VS 2017

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

3 个答案:

答案 0 :(得分:2)

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

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

以下是重现的步骤:

  • 使用文件>在Visual Studio 2017中使用WPF应用程序创建新的解决方案;新项目> Visual c#> WPF应用程序(.NET Framework)
  • 构建和发布。 WPF应用程序正常运行
  • 使用文件>将新项目添加到解决方案中添加>新项目> Visual C#> .NET标准>课程库> .NET标准版(.NET Framework 4.6.1)
  • 从WPF应用程序添加引用到.NET标准类库。
  • 构建并发布并尝试安装。

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

Error Dialog

我将这个简单的项目转载为git。

https://github.com/colhountech/WPF_With_NetStandard

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

答案 1 :(得分:2)

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

对我有用。

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

答案 2 :(得分:0)

我遇到同样的问题。 为了解决这个问题,我必须在发布应用程序文件... 包含所有必需的包标签

Publish configuration screenshot