【发布时间】:2018-01-25 22:27:25
【问题描述】:
我有一个部署为 ClickOnce 应用程序的 C# 应用程序。安装文件可以位于我们 Web 服务器上三个可能的文件夹之一中:Alpha、Beta 和 Production。用户访问 IE 中的适当位置以启动应用程序:www.foo.com/Alpha、www.foo.com/Beta 或 www.foo.com/Prod。在测试中,我们首先将安装文件复制到 Alpha,然后(当它通过测试时)复制到 Beta,然后(当它通过用户接受时),再复制到生产环境。没有重新编译。
我想知道的是 C# 代码是否有任何方法可以在运行时知道它是哪个版本:Alpha、Beta 或生产。它仅基于 ClickOnce 安装文件所在的文件夹。请记住,没有重新编译。
有什么线索吗?
谢谢!
【问题讨论】:
-
您想从哪里知道位置?从应用程序代码本身或其他应用程序内部需要知道位置?
-
你有什么尝试返回错误的位置?有几种方法可以获取程序集的位置。
-
我需要了解应用程序代码本身。具体来说,我需要知道以便我可以选择我的应用程序要使用的 SQL Server 实例(而不是实例中的哪个数据库)。
-
我不需要知道程序集的当前位置,我需要知道其安装程序的原始 URL(或位置)。
-
@DavidStowell:好的,在您的帖子中,您说应用程序是从 IE “启动”的。我从您的评论中推测您的意思是“已安装”,并且服务器上没有正在运行的存在。