0

我正在使用它来获取我的应用程序配置文件的位置:

string path = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile;

但它没有给我实际使用的文件的路径。

我的问题是,我需要我的应用程序可以从 Windows 任务计划程序运行,并且我希望它接受参数。我一直这样做的方式是,当我在调度程序中创建任务时,单击浏览并找到appref-ms图标。然后调度程序将填充文本框,我将在该文本框中输入文件的路径,其中包含到下面一个奇怪位置的路径AppData\Local\Apps\2.0\...(而不是只保留图标的路径)。通过这种方式,我还可以添加参数并且一切正常,这与我尝试过的其他事情不同,例如使用.exe文件的路径或键入图标的路径,除了......

当应用程序从任务计划程序启动时,它使用的配置文件与使用图标启动时不同。假设我在从任务计划程序运行后将设置更改S为值(始终在应用程序内)。T然后我将设置更改SI从图标运行它时。下次我从任务计划程序运行应用程序时,设置S将是T,下次我从图标运行它时,设置S将是I。此外,S在上面代码给我的路径中的文件内设置只是默认值(不是Tnor I)。

这是一个大问题,因为无论我如何运行应用程序,我都需要我的设置相同。我正在考虑用我自己确定的位置替换我自己文件的默认设置文件。这是我唯一的选择吗?有没有其他方法可以从任务计划程序运行应用程序,这样我就可以传递参数,这些参数也将使用与从图标运行它时相同的配置文件?一段代码会强制应用程序始终使用相同的配置文件怎么样?

4

2 回答 2

1

You could move the settings to a place that everyone can find them. If it's anything that's saved, you'll want to do this anyway, as ClickOnce updates can wipe out the user's saved settings. Check out this article for more info.

于 2013-02-28T22:21:22.473 回答
0

我知道您可以从中获取应用程序的安装路径

INSTALLED_PATH = Application.StartupPath ;

一种方法可能是,在每次 ClicOnce 部署之后,应用程序的首次启动将来自图标。如果应用程序随后将 INSTALLED_PATH 保存到一个固定的文本文件,那么任务可以从那里获取路径。这有意义吗?

于 2013-02-28T20:52:00.690 回答