感覺這應該有一個簡單的解決方案。在2個應用程序之間共享配置
我正在開發一個工具,它將有一些組件 - 它將開始作爲一個命令行工具,然後我們將打包在一個wpf應用程序中。該工具用於生成數據庫遷移腳本。這些將由源代碼控制,並位於每個用戶機器的特定位置。
我想將此位置存儲爲不需要提供給命令行程序的設置,並且可以在UI版本中進行設置。也可能有其他信息在這樣的程序之間共享是有用的(一次一次/很少的方式)。
我不想在代碼中有配置文件的硬編碼路徑,因爲這不會在程序的不同用戶之間移植。
我知道我可以將目錄名稱傳遞給命令行應用程序,也可以通過在其計算機上手動設置人員的應用程序配置來完成此操作。我不喜歡前者,因爲它是重複的,在命令行輸入路徑是一種痛苦,我不喜歡後者,因爲如果你需要改變它,那麼你必須弄清楚程序在做什麼,然後在隨機文件夾中進行挖掘手動修改文件(這又是非常可怕的!)。
這似乎應該解決問題,它可能是 - 我覺得我可能在某個地方錯過了一個把戲。
我對使用本地設置對象並不煩惱 - 在許多方面,我寧願它只是一個xml文件,因爲它使得升級或添加新東西變得更加簡單。
想法請!
你能否提供更多關於如何使用設置來做到這一點的信息(我認爲默認的東西現在應該可以)。我是否需要保持不同項目中的設置同步?這似乎有點討厭。這些設置通常是透明地存儲的,你如何選擇他們去的地方?有人提到有Environment.AppData或類似的地方,所以這看起來像是要走的路。 –
您可以使用configSource屬性將userSettings部分的內容移動到外部文件中。然後這個外部文件可以在兩個應用程序之間共享。但是,這種方法存在侷限性,因爲這個外部文件不能放在任何地方。它必須與主配置文件位於相同的目錄或子目錄中。如果你想要更靈活的解決方案,你必須寫你自己的設置提供商。 –