我使用这个让我的应用程序的配置文件中的位置:真正的ClickOnce发布应用程序的配置文件在哪里?
string path = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile;
但它并没有给我的路径实际上正在使用的文件。
我的问题是,我需要我的应用程序可以从Windows任务计划程序运行,并且我希望它带参数。我一直这样做的方式是,当我在计划程序中创建任务时,单击浏览并找到appref-ms
图标。然后,计划程序将填充文本框,在该文本框中我将输入文件的路径,并将路径指向AppData\Local\Apps\2.0\...
下的奇怪位置(而不仅仅是保留图标的路径)。这样我也可以添加参数,一切工作正常,不像我尝试过的其他东西,例如使用.exe
文件的路径或键入图标的路径,除了...
当应用程序从任务计划程序使用与使用图标启动时不同的配置文件。假设我从任务计划程序运行后将S
设置更改为值T
(始终来自应用程序内)。然后当我从图标运行时,我将设置S
更改为I
。下一次我从任务计划程序运行应用程序时,设置S
将为T
,并且下一次从图标运行它时,设置S
将为I
。另外,在上面给出的代码路径中设置文件S
只是默认值(不是T
也不是I
)。
这是一个很大的问题,因为无论我如何运行应用程序,都需要我的设置相同。我正在考虑用我自己确定的位置替换我自己的文件的默认设置文件。这是我唯一的选择吗?是否有任何其他方式从任务计划程序运行应用程序,以便我能够传递参数,这些参数也会使用与从图标运行时相同的配置文件?一段代码会如何强制应用程序始终使用相同的配置文件?
这也意味着我将无法使用'Properties.Settings.Default ...'是这样吗? – Juan 2013-02-28 22:23:49
我不使用.NET项目内置的设置文件。如果确实让ClickOnce处理它们,有时会将它们复制到前面,有时则不会。它会部署任何新的东西,所以如果你有你想要使用的默认值,那将会起作用,但是如果你改变了它们,它就不会。我编写了自己的配置管理器,将键/值对写出到我在部署之外存储的XML配置文件中。 – RobinDotNet 2013-03-04 07:00:43