private async void AddinManagerWindow_Loaded(object sender, RoutedEventArgs e) { // fill and sort as data is filled out var addinList = await AddinManager.Current.GetAddinListAsync(); AddinList = new ObservableCollection <AddinItem>(addinList); if (AddinList.Count > 0) { ActiveAddin = AddinList[0]; } }
public void DownloadAndInstall() { const string url = "https://github.com/RickStrahl/SaveToAzureBlob-MarkdownMonster-Addin/raw/master/Build/SaveImageToAzureBlob-MarkdownMonster-Addin.zip"; var addin = new AddinItem { id = "SaveImageToAzureBlob" }; var manager = new AddinManager(); var result = manager.DownloadAndInstallAddin(url, "c:\\program files (x86)\\Markdown Monster\\Addins", addin); Assert.IsTrue(!result.IsError); }
private async void AddinManagerWindow_Loaded(object sender, RoutedEventArgs e) { // fill and sort as data is filled out var addinList = await AddinManager.Current.GetAddinListAsync(); if (addinList == null) { AddinList = new ObservableCollection <AddinItem>(); ShowStatus("Unable to load addin list.", mmApp.Configuration.StatusTimeout, Brushes.Red); return; } AddinList = new ObservableCollection <AddinItem>(addinList); if (AddinList.Count > 0) { ActiveAddin = AddinList[0]; } }
/// <summary> /// 获取一个新实例化的接口 /// </summary> /// <typeparam name="T">接口类型</typeparam> /// <returns>接口</returns> public static T New <T>() { AddinItem temp = _Cache[typeof(T).FullName]; if (temp == null) { temp = Mapping.Get <T>(); } if (temp == null) { throw new ApplicationException(typeof(T).FullName + "不存在对应的配置或实现DLL"); } else { return(temp.New <T>()); } }
internal AddinItem Add(string interfaceName, string caseTypeName) { lock (_Items) { AddinItem temp = new AddinItem(caseTypeName); if (_Items.ContainsKey(interfaceName) == false) _Items.Add(interfaceName, temp); return temp; } }