1

ここで少し問題があります。

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;  

送信後にファイルを削除する際に問題が発生したため、すべてがストリームに含まれるようにコード全体を再入力する必要がありました。しかし今、私はこのエラーを受け取ります。

つまり、基本的には今は何も保存しないはずです。

使用しているフレームワークに注意を払わなかっただけです。私は1日に4種類のフレームワークを使用しているため、混乱することがあります。

4

5 に答える 5

6

どのフレームワークのバージョンを使用していますか? このメソッドは、フレームワークのバージョン 4 以降でのみ使用できます。http://msdn.microsoft.com/en-us/library/system.io.stream.copyto(v=vs.100).aspx

于 2012-11-05T11:32:23.737 に答える
1

動く

attach = new Attachment(actualAttachment, ContentType);

StreamWriter の using ブラケット内で、次のように変更します。

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

その後、MemoryStream actualAttachment を取り除くことができます。

既に StreamWriter を介してデータをメモリ ストリームに入れています。代わりにそれを使用してください。

于 2012-11-05T11:31:13.073 に答える
1

これを試して:

ms.WriteTo(actualAttachment);

于 2013-03-19T14:48:37.707 に答える
0

解決しました!

かわった

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


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

問題を解決しました。
助けてくれてありがとう!

于 2012-11-05T13:29:47.427 に答える
0

この特定のエラーが発生していました。私のプロジェクトは 3.5 フレームワークを対象としていました。エラー 8 'System.IO.Stream' には 'CopyTo' の定義が含まれておらず、タイプ 'System.IO.Stream' の最初の引数を受け入れる拡張メソッド 'CopyTo' が見つかりませんでした (using ディレクティブまたはアセンブリ参照?)

私のコード:

ストリームinputStream = Request.InputStream;

FileStream fileStream = new FileStream(パス, FileMode.OpenOrCreate);

inputStream.CopyTo(fileStream);

プロジェクト設定> ASP.net構成>ターゲットフレームワークを4.0に変更し、再度開きました。出来た。ありがとう

于 2013-02-24T17:19:33.153 に答える