我有應用程序1和應用程序2.應用程序2需要驗證是否安裝了App1,並且是否需要從App1設置訪問屬性。訪問另一個應用程序的設置
什麼是最好的方式去做這件事?
UPDATE 首先,我的道歉從來沒有接受一個答案,我知道這是一歲多了,但我得到了這個要求後,立即牽制,並在項目變更,等等等等。 Mea culpa ...
我現在回來了,我仍然需要解決這個問題,但現在應用程序通過ClickOnce部署,所以我實際上不知道他們位於何處。任何建議,將不勝感激。我保證這次我會選擇一個答案。
我有應用程序1和應用程序2.應用程序2需要驗證是否安裝了App1,並且是否需要從App1設置訪問屬性。訪問另一個應用程序的設置
什麼是最好的方式去做這件事?
UPDATE 首先,我的道歉從來沒有接受一個答案,我知道這是一歲多了,但我得到了這個要求後,立即牽制,並在項目變更,等等等等。 Mea culpa ...
我現在回來了,我仍然需要解決這個問題,但現在應用程序通過ClickOnce部署,所以我實際上不知道他們位於何處。任何建議,將不勝感激。我保證這次我會選擇一個答案。
ConfigurationManager.OpenExeConfiguration的文檔有一個讀取另一個exe的.config文件並訪問AppSettings的示例。那就是:
// Get the application path.
string exePath = System.IO.Path.Combine(
Environment.CurrentDirectory, "ConfigurationManager.exe");
// Get the configuration file.
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(exePath);
// Get the AppSetins section.
AppSettingsSection appSettingSection = config.AppSettings;
至於檢查已安裝應用1,你可以在安裝過程中寫入註冊表中的值,並檢查它的應用2(和卸載過程中刪除值)。
這是一種痛苦,我可以告訴你很多。我發現最好的方法是序列化Settings類並使用XML(下面的代碼)。但請先嚐試以下頁面: http://cf-bill.blogspot.com/2007/10/visual-studio-sharing-one-file-between.html
public class Settings
{
public static string ConfigFile{get{return "Config.XML";}}
public string Property1 { get; set; }
/// <summary>
/// Saves the settings to the Xml-file
/// </summary>
public void Save()
{
XmlSerializer serializer = new XmlSerializer(typeof(Settings));
using (TextWriter reader = new StreamWriter(ConfigFile))
{
serializer.Serialize(reader, this);
}
}
/// <summary>
/// Reloads the settings from the Xml-file
/// </summary>
/// <returns>Settings loaded from file</returns>
public static Settings Load()
{
XmlSerializer serializer = new XmlSerializer(typeof(Settings));
using (TextReader reader = new StreamReader(ConfigFile))
{
return serializer.Deserialize(reader) as Settings;
}
}
}
需要更多信息。包含設置的文件位置是否已知? – galford13x 2010-03-17 19:30:45
應用程序作用域或用戶作用域設置? – 2010-03-17 19:52:53