2011-10-28 30 views
7

Tôi có một DLL nhúng trong ứng dụng của mình và tôi cần phải ghi nó vào hệ thống tệp khi chạy. Tôi có điều này cho đến nay:Cách ghi luồng vào tệp?

Dim _assembly As Assembly = Assembly.GetExecutingAssembly() 
Dim _rawstream As Stream = _assembly.GetManifestResourceStream("MyFile.dll") 

Tôi chỉ cần phải viết _rawstream vào một tập tin bây giờ.

EDIT: Đây phải được .NET Framework 2 và CopyTo không tồn tại :(

Trả lời

5
My.Computer.FileSystem.WriteAllBytes(output file, My.Resources.resourcename, False) 
1
using (FileStream fileStream = File.OpenWrite("MyFile.bin")) 
{ 
    _rawstream.CopyTo(fileStream); 
} 

EDIT: Rất tiếc, xin lỗi, đó là C# nhưng VB nên được tương tự

5

Sử dụng một FileStream và viết thư cho nó

Dim fs As new FileStream("path to new file.dll", FileMode.Create) 

_rawstream.CopyTo(fs) 

Edit:.

Đối với pre 4.0 thấy this.

+0

Điều này phải là .NET Framework 2 và CopyTo không tồn tại: ( –

+0

@SixHouse - Đã thêm liên kết vào tùy chọn trước 4.0. – Oded

Các vấn đề liên quan