我使用這個讓我的應用程序的配置文件中的位置:真正的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