我有一个WinForms应用程序原本要使用ClickOnce。但是现在看来ClickOnce不能为我的应用程序工作,所以我想删除它。只是...似乎没有明显的方法可以做到这一点。没有“取消ClickOnce”按钮。有人知道我需要采取哪些步骤才能让我的应用程序恢复到ClickOnce集成之前的状态吗?
(我知道我可以创建一个新项目并将内容导入其中,但是这样做似乎很愚蠢,所以我希望还有其他方法。)
我有一个WinForms应用程序原本要使用ClickOnce。但是现在看来ClickOnce不能为我的应用程序工作,所以我想删除它。只是...似乎没有明显的方法可以做到这一点。没有“取消ClickOnce”按钮。有人知道我需要采取哪些步骤才能让我的应用程序恢复到ClickOnce集成之前的状态吗?
(我知道我可以创建一个新项目并将内容导入其中,但是这样做似乎很愚蠢,所以我希望还有其他方法。)
其他回答都是不正确或不够有帮助的。声称它永远不需要删除是不正确的。
我最近遇到的一个例子是当应用程序需要管理特权时。任何将管理要求嵌入清单中的尝试都将导致该应用程序甚至在解决方案中仍然存在ClickOnce时无法编译。
以下两个步骤使我关闭了ClickOnce(在Visual Studio 2010中):
在项目属性中,
如果您参考位于 Debug 文件夹中的 ClickOnce 应用程序部署清单文件,请转到项目属性-> 安全性,并取消选中“启用 ClickOnce 安全设置”。
您还可以转到项目属性-> 签名并取消选中“签名 ClickOnce 清单”,但这不是必需的,因为如果您执行第一个取消选中,则没有什么需要签名的。
现在,如果您转到调试并删除 .application 文件,则在重新构建时不会再次出现。
我相信当你停止使用ClickOnce部署时,仅剩下publish.xml
文件,它告诉您到目前为止已经部署了什么以及您所处的版本。否则,没有任何需要关注的内容,只需像在没有ClickOnce的情况下一样从bin
文件夹部署即可。
我同意其他人的观点,没有必要“删除ClickOnce”。
但如果您真的想这么做,我记得所有ClickOnce的设置都在项目的.csproj文件中,因此请删除所有与ClickOnce相关的XML标签。(可能最容易的方法是将其与从未部署过CO的新应用程序进行比较,以查看哪些标签不存在)
以防有人需要帮助...
我的问题是,我有一个依赖的“类库”项目,其“签署 ClickOnce 清单”选项被勾选但禁用,因此无法取消选中。我的解决方案如下:
我认为这是一个微软的 bug(在我现在使用的 VS2019 16.0.1 版本中仍然存在),但这个解决方法有效。
祝你好运!