【问题标题】:Argument 3: cannot convert from 'bool' to 'System.Text.Encoding'参数 3:无法从 'bool' 转换为 'System.Text.Encoding'
【发布时间】:2020-05-24 05:38:34
【问题描述】:

我正在使用System.IO.CompressionZipFile.ExtractToDirectory。我看到一个人使用 3 个参数,两个字符串和一个布尔值。当我试图准确地复制他所做的事情时,我得到了一个错误。我知道ZipFile 可以是编码或布尔值,但我希望它是布尔值。我有什么需要改变的吗?

我正在使用 .NET Framework 4.7.2

这里是任何可能认为会有所帮助的人的代码。这也是我正在关注的视频。它有他在哪里输入 ZipFile 行的时间戳。 https://youtu.be/JIjZQo03YdA?t=420

private void DownloadGameCompletedCallback(object sender, AsyncCompletedEventArgs e)
{
    try
    {
        string onlineVersion = ((Version)e.UserState).ToString();
        ZipFile.ExtractToDirectory(gameZip, rootPath, true);
        File.Delete(gameZip);

        File.WriteAllText(versionFile, onlineVersion);

        VersionText.Text = onlineVersion;
        Status = LauncherStatus.READY;
    }
    catch (Exception ex)
    {
        Status = LauncherStatus.FAILED;
        MessageBox.Show($"Error finishing download: {ex}");
    }
}

【问题讨论】:

  • 转到/使用 API 参考。这就是你得到的。平台之间偶尔会有小的偏差。无论如何 - docs.microsoft.com/en-us/dotnet/api/… 应该是类型有效的(其中布尔第三个参数 = overwriteFiles),假设其他两个参数确实是字符串并且环境如所声称的那样。
  • 你希望true的第三个参数是什么意思?
  • 你能告诉我们gameZip和rootPath的声明吗?
  • @David.Warwick 覆盖文件的真正手段。
  • @KlausGütter gameZip 是 sourceArchiveFileName 而 rootPath 是 destinationDirectoryName。

标签: c# zipfile launcher


【解决方案1】:

我使用的是 .NET Framework 而不是 .NET Core。对不起,浪费你们的时间了伙计们!我忘了 .NET Framework 和 .NET Core 是两个完全不同的东西。

【讨论】:

    猜你喜欢
    • 2021-11-21
    • 2020-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-05
    • 2011-12-27
    • 2017-05-14
    相关资源
    最近更新 更多