'System.IO.MemoryStream'不包含'for'的定义?

时间:2012-11-05 11:25:29

标签: c# asp.net email-attachments vcard

我在这里遇到一些问题。

  

Error1'System.IO.MemoryStream'不包含的定义   'CopyTo从'

我的代码:

// Error occurs here (CopyTo) (For Framework 4.0)
ms.CopyTo(actualAttachment);    
actualAttachment.Position = 0;  

//Change CopyTo to WriteTo For Framework 2.0
ms.WriteTo(actualAttachment);   
actualAttachment.Position = 0;  

我不得不重新输入我的整个代码以确保所有内容都进入流中,因为在发送文件后删除文件时遇到了一些问题。但现在我收到了这个错误。

所以基本上它现在不应该保存任何东西。

我根本没注意到我使用的是什么框架。 我每天使用4种类型的框架,有时候会让我感到困惑。

5 个答案:

答案 0 :(得分:7)

您使用的是哪个框架版本?该方法仅在框架的第4版之后可用。 http://msdn.microsoft.com/en-us/library/system.io.stream.copyto(v=vs.100).aspx

答案 1 :(得分:1)

移动

attach = new Attachment(actualAttachment, ContentType);

在StreamWriter的使用括号内,并将其更改为

ms.Position = 0;
attach = new Attachment(ms, ContentType);

然后你可以摆脱MemoryStream actualAttachment。

您已经通过StreamWriter将数据放入内存流中,只需使用它即可。

答案 2 :(得分:1)

试试这个:

ms.WriteTo(actualAttachment);

答案 3 :(得分:0)

解决!

改变

 ms.CopyTo(actualAttachment);
 actualAttachment.Position = 0;


 ms.WriteTo(actualAttachment);
 actualAttachment.Position = 0;

解决了这个问题。
感谢大家的帮助!

答案 4 :(得分:0)

我遇到了这个特殊的错误。 我的项目是针对3.5框架的。 错误8'System.IO.Stream'不包含'CopyTo'的定义,并且没有可以找到接受类型'System.IO.Stream'的第一个参数的扩展方法'CopyTo'(你是否缺少using指令或者装配参考?)

我的代码:

  

Stream inputStream = Request.InputStream;

     

FileStream fileStream = new FileStream(path,FileMode.OpenOrCreate);

     

inputStream.CopyTo(FILESTREAM);

我更改了项目设置> ASP.net配置>目标框架到4.0 它重新开放。有效。感谢