Có thể nhúng tệp nhị phân tùy chỉnh bên trong thư viện lớp C# và sau đó tại thời gian chạy đọc nó với trình đọc nhị phân không?Nhúng tệp nhị phân vào trong thư viện lớp
Tôi đoán có thể là thông qua tài nguyên.
Rất cám ơn
Có thể nhúng tệp nhị phân tùy chỉnh bên trong thư viện lớp C# và sau đó tại thời gian chạy đọc nó với trình đọc nhị phân không?Nhúng tệp nhị phân vào trong thư viện lớp
Tôi đoán có thể là thông qua tài nguyên.
Rất cám ơn
Bạn có thể thực hiện việc này bằng cách thêm tệp vào Tài nguyên thông qua thuộc tính dự án. Visual studio sau đó sẽ cung cấp cho bạn một lớp tiện dụng để truy cập tệp của bạn bằng cách sử dụng mã sau
byte[] theFile = myNamespace.Properties.Resources.theBinaryFile;
Trường hợp tên tài nguyên làBinaryFile.
Có nó rất dễ dàng:
Thêm tập tin để dự án của bạn và thiết lập "Xây dựng hành động" để "tài nguyên nhúng".
Trong chương trình của bạn làm
foreach (string name in Assembly.GetExecutingAssembly().GetManifestResourceNames())
{
if (name.EndsWith("<name>", StringComparison.InvariantCultureIgnoreCase))
{
using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(name))
{
// ...
}
break;
}
}
Tìm tài nguyên đúng là một chút phức tạp vì có những thứ ở phía trước của tên tập tin (không gian tên, vv thiết lập một breakpoint vào if (...) để xem tên tài nguyên thực).
RE: nhận xét của tôi về câu trả lời bên dưới. Nếu thay đổi tập tin ban đầu sẽ được tự động nhúng lại khi tôi xây dựng dự án tiếp theo? – Andy
có nếu bạn thay đổi tệp, bản dựng tiếp theo sẽ cập nhật tệp tài nguyên. –
cảm ơn sự giúp đỡ của bạn John. – Andy