Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何通过Visual Studio 2015发布具有一键式发布功能的.NET应用程序?_C#_.net_Visual Studio 2015 - Fatal编程技术网

C# 如何通过Visual Studio 2015发布具有一键式发布功能的.NET应用程序?

C# 如何通过Visual Studio 2015发布具有一键式发布功能的.NET应用程序?,c#,.net,visual-studio-2015,C#,.net,Visual Studio 2015,在过去的几天里,我一直在努力研究这个问题,但对于初学者来说,似乎没有很好的支持。我找到的所有视频教程都不能回答我提出的问题 我想要的是: 我在Visual Studio 2015中使用.NET 4.6.1编写了一个应用程序,我想分发一个.exe,自动检查是否有更新。看起来这正是OneClick的意图 我现在的处境: 我想发布到多人共享的驱动器。似乎我将该文件路径放在了“发布文件夹位置”中,该位置生成Setup.exe、MyApp.application、publish.htm和应用程序文件。当您

在过去的几天里,我一直在努力研究这个问题,但对于初学者来说,似乎没有很好的支持。我找到的所有视频教程都不能回答我提出的问题

我想要的是:

我在Visual Studio 2015中使用.NET 4.6.1编写了一个应用程序,我想分发一个.exe,自动检查是否有更新。看起来这正是OneClick的意图

我现在的处境:

我想发布到多人共享的驱动器。似乎我将该文件路径放在了“发布文件夹位置”中,该位置生成Setup.exe、MyApp.application、publish.htm和应用程序文件。当您转到publish.htm时,有一个安装按钮可下载Setup.exe

我被困的地方:

将Setup.exe文件下载到本地计算机并尝试运行时,会出现错误。详细信息显示,它无法找到MyApp.application文件。似乎该文件负责了解用户计算机上当前安装的MyApp版本,以便将其与下载位置(在我的情况下为共享驱动器)进行比较,以查看是否有可用的更新

我错过了什么?我是否误解了OneClick发布的目的?难道用户不能访问publish.htm一次以获取.exe文件,而该.exe文件用于启动我的应用程序并首先查找更新吗?我真的很感激任何关于这个话题的见解


PS我已经阅读了所有的MSDN文档,但我认为它对初学者来说并不友好。或者可能我的速度很慢:)

你完全理解它,但是当用户导航到html页面时,它会下载多个文件。.exe、.application和其他支持文件

您认为ClickOnce是您想要的是正确的。我发现使用click once时,.net依赖项非常特殊。您必须确保每台机器都有正确的框架版本,然后他们才能使用htm站点


我更喜欢做的是将.application文件分发给用户机器,让他们运行它。它将在每次运行时检查服务器上的更新,并将所有必要的权限复制到用户本地目录。

您必须将用户定向到
.application
-文件

那个人负责版本控制(更新)和执行应用程序

如果执行
.exe
,它将查找
.application
-文件,以查找有关应安装/下载的版本的信息

注意


并非所有浏览器(在部署internet/intranet时)都支持ClickOnce。但是几乎每个浏览器都有扩展名

,因此,此时当用户在.htm页面上单击“安装”时,它只是下载Setup.exe文件。所以,我不知道为什么它只下载了一个文件。此外,如果我在用户自行下载Setup.exe后手动将.application文件分发给用户,则该文件确实有效,并且在我发送时会得到更新,但他们的.application文件不会使用新版本号进行更新。它应该更新到用户正在运行的任何版本吗?.application文件从不更新,它只是检查服务器是否有新版本的.exe和依赖项。