System.FormatException:输入字符串的格式不正确,试图下载mc文件

时间:2018-02-02 06:37:12

标签: c# wpf string-formatting

我正在尝试使用列表框下载minecraft文件库和资源来选择版本然后通过单击按钮下载,但是当我点击按钮时出现此错误

  

“System.FormatException:'输入字符串的格式不正确。'”

on await MCDownload(files, ctoken.Token); 

请回复我该怎么办。 谢谢!

    private async void LaunchMinecraft1_Click(object sender, RoutedEventArgs e)
    {
        if (Directory.Exists(jsonloc + @"\versions\" + versionsList.SelectedItem.ToString()))
        {
            MessageBox.Show("Version already exists");
            return;
        }
        ctoken = new CancellationTokenSource();
        var files = await GetFiles(versionsList.SelectedItem.ToString(), totalPercentage.Content);
        await MCDownload(files, ctoken.Token);
    }
    public List<string[]> urls = new List<string[]>();
    public async Task MCDownload(List<string[]>urls, CancellationToken _ctsblock)
    {
        totalMB = 0;
        _cts = new CancellationTokenSource();
        sw.Start();
        int count = urls.Count;
        if (urls != null && urls.Count != 0)
        {
            System.Timers.Timer myTimer = new System.Timers.Timer();
            myTimer.Elapsed += (s, e) =>
            {
                Application.Current.Dispatcher.Invoke(new Action(() =>
                {
                    progressBar.Visibility = Visibility.Visible;
                    downloadedMB.Content = string.Format("{0} MB", ((totalMB / 1024f) / 1024f).ToString("0.00"));

                }));
            };
            myTimer.Interval = 100; // 1000 ms is one second
            myTimer.Start();
            ServicePointManager.DefaultConnectionLimit = Int32.Parse(Settings.Default["download_threads"].ToString());
            var block = new ActionBlock<string[]>(async url =>
            {
                try
                {
                    await DownloadLibraries(url);
                }
                catch (WebException) { }
                catch (OperationCanceledException) { }
                catch (Exception e)
                {
                    Application.Current.Dispatcher.Invoke(new Action(() =>
                    {
                        MessageBox.Show("There may have been some errors while downloading the game. It shouldn't be a problem though. If you experience any issue, try to reinstall again or contact us!");
                    }));
                    Console.WriteLine("ERRORE IN" + url[3] + "\r\n" + e);

                }
            }, new ExecutionDataflowBlockOptions { MaxDegreeOfParallelism = Int32.Parse(Properties.Settings.Default["download_threads"].ToString()), CancellationToken = _ctsblock });

            foreach (var url in urls)
            {
                block.Post(url);
            }
            block.Complete();
            try
            {
                await block.Completion;
            }
            catch (TaskCanceledException)
            {
                return;
            }

            myTimer.Stop();
            Application.Current.Dispatcher.Invoke(new Action(() =>
            {
                downloadedMB.Content = null;
            }));
            progressBar.Value = 100;
            progressBar.Visibility = Visibility.Hidden;
            return;
        }
    }

0 个答案:

没有答案