繁体   English   中英

如何在.NET 3.0计算机上部署ClickOnce .NET 3.5应用程序?

[英]How to deploy a ClickOnce .NET 3.5 application on a .NET 3.0 machine?

我有.NET 3.5 SP1 WPF应用程序,我使用ClickOnce成功部署到客户端计算机。

现在我有了新的要求 - 我们的一个客户需要在装有.NET 3.0的机器上运行应用程序,而且完全不可能在机器上升级或安装任何东西。 我已经尝试运行3.5应用程序,将一些3.5 .NET Framework DLL复制到应用程序目录,并且它没有任何问题。 目前唯一的问题是ClickOnce。 我已经在应用程序文件列表中包含了3.5 .NET Framework System。*。dll文件,但它总是在3.0机器上中止安装,并显示以下错误消息:

无法安装或运行该应用程序。 该应用程序要求首先在全局程序集缓存(GAC)中安装程序集System.Core版本3.5.0.0。 请联系您的系统管理员。

我已经尝试在项目的“发布”选项卡上调整先决条件,但没有任何组合解决了这个问题。

ClickOnce的哪个部分负责检查先决条件? 我已经尝试使用mageui.exe进行部署,但仍然存在3.5 .NET Framework错误。 我应该怎么做才能使ClickOnce停止检查任何先决条件?

该项目是使用Visual Studio 2010创建的。


我可能只是找到问题的原因 - ClickOnce发布过程(以及MageUI)还生成一个应用程序清单文件,该文件在某些​​3.5程序集(System.Core,System.Data.Entity)上定义依赖关系“preRequisite”。 所以我只需要强制ClickOnce发布/ MageUI不以某种方式生成这些依赖项...

如何使用针对3.0 Framework的存根.exe? 您可以在同一个ClickOnce安装中部署应用程序和存根,并将存根作为入口点。 存根唯一的工作就是启动3.5可执行文件。

我不确定您是否能够使用Visual Studio创建此类部署。 您可能需要使用MageUI

编辑
在回复您的评论时,请尝试从清单文件中删除“先决条件”条目。 只需使用文本编辑器删除它们,然后使用命令行Mage重新签名

在没有.NET 3.5的计算机上,无法运行以.NET 3.5为目标的应用程序。 如果要在仅支持.NET 3.0的计算机上安装此应用程序,则必须将目标框架降级到.NET 3.0,并相应地更改先决条件。

在C#解决方案中,这是在每个项目的属性页面的“应用程序”选项卡上。

在VB解决方案中,IIRC位于“编译”选项卡的“高级选项”下。

我收到此消息是因为我选中了创建桌面快捷方式的选项 - 必须添加.NET Framework 3.5 SP1的先决条件才能修复它,因此您可能必须在程序中添加快捷方式(如果这导致了消息而您无法升级框架)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM