gpt4 book ai didi

c# - 将 .NET GZipStream 类与 Mono 结合使用

转载 作者:太空狗 更新时间:2023-10-29 23:02:58 25 4
gpt4 key购买 nike

我正在尝试从 GZipStream Class 构建一个示例.使用命令 gmcs gzip.cs,我收到了错误消息。 gzip.cs 与 msdn 同源。

看来编译的时候需要加上引用。缺少什么?

gzip.cs(57,32): error CS1061: Type `System.IO.FileStream' does not contain a definition for `CopyTo' and no extension method `CopyTo' of type `System.IO.FileStream' could be found (are you missing a using directive or an assembly reference?)
/Library/Frameworks/Mono.framework/Versions/2.10.1/lib/mono/2.0/mscorlib.dll (Location of the symbol related to previous error)
gzip.cs(86,40): error CS1061: Type `System.IO.Compression.GZipStream' does not contain a definition for `CopyTo' and no extension method `CopyTo' of type `System.IO.Compression.GZipStream' could be found (are you missing a using directive or an assembly reference?)
/Library/Frameworks/Mono.framework/Versions/2.10.1/lib/mono/gac/System/2.0.0.0__b77a5c561934e089/System.dll (Location of the symbol related to previous error)
Compilation failed: 2 error(s), 0 warnings

已解决

为了使用 .NET 4 函数,我应该使用“dmcs”,而不是“gmcs”。

最佳答案

Stream.CopyTo 仅出现在 .NET 4 中 - 它可能还没有出现在 Mono 中(或者您可能需要更新的版本)。

虽然编写类似的扩展方法很容易:

public static class StreamExtensions
{
public static void CopyTo(this Stream input, Stream output)
{
byte[] buffer = new byte[16 * 1024];
int bytesRead;
while ((bytesRead = input.Read(buffer, 0, buffer.Length)) > 0)
{
output.Write(buffer, 0, bytesRead);
}
}
}

关于c# - 将 .NET GZipStream 类与 Mono 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5967071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com