Sự khác biệt giữa Tài nguyên và Tài nguyên nhúng trong ứng dụng C # là gì?


89

Khi nào tôi nên sử dụng cái này hay cái kia?

Tôi muốn tất cả các tệp tôi sử dụng trong ứng dụng của mình (hình ảnh, âm thanh, tệp xml, v.v.) ở bên trong tệp .exe để tôi không triển khai với một loạt các thư mục và tệp.

Cảm ơn bạn về thông tin.

Câu trả lời:


82

Các hành động xây dựng “Tài nguyên” và “Nội dung” là để truy cập các tài nguyên WPF bằng Uris. Tuy nhiên, "Tài nguyên được nhúng" là dành cho các công nghệ trước đây. Tuy nhiên, cả hai tùy chọn đều nhúng tài nguyên vào trong assembly nhưng tùy chọn "Tài nguyên" sẽ được sử dụng cho WPF.

MSDN cung cấp giải thích đầy đủ ở đây .


Bạn đúng! Tôi đặt tất cả hình ảnh trong dự án WPF của mình thành Tài nguyên và xây dựng lại nguồn. Bây giờ khi tôi điều hướng đến thư mục Gỡ lỗi, tôi không thể tìm thấy các tệp ở đâu, chúng phải là một phần của .exe, chính xác như cách tôi muốn. Không thể cảm ơn đủ! :)
Sergio Tapia

1
Liên kết MSDN bị hỏng. Giải thích bổ sung ở đây sẽ rất tốt.
Michael Harris

7

Tài nguyên WPF (xây dựng hành động = Tài nguyên ) sử dụng tài nguyên nhúng như được hỗ trợ bởi khung .NET cốt lõi, nhưng thêm hỗ trợ để truy cập tài nguyên nhúng thông qua URI gói . Từ MSDN :

Tệp tài nguyên WPF không giống với loại tài nguyên được nhúng hoặc liên kết có thể được định cấu hình bằng cách sử dụng hỗ trợ .NET Framework cốt lõi cho tài nguyên lắp ráp. Mặc dù tệp tài nguyên WPF tận dụng hỗ trợ tài nguyên nhúng .NET Framework cốt lõi, khả năng truy cập tệp tài nguyên WPF bằng cách sử dụng URI gói dễ dàng hơn so với sử dụng không gian tên.


2

Theo báo cáo của MSDN,

Tài nguyên nhúng là lựa chọn tốt nhất nếu bạn phải chia sẻ tệp tài nguyên ứng dụng (.resx) giữa nhiều dự án. Ví dụ: nếu bạn có một tệp tài nguyên chung chứa biểu trưng của công ty bạn, thông tin nhãn hiệu, v.v., việc sử dụng tài nguyên nhúng có nghĩa là bạn chỉ phải sao chép tệp .resx chứ không phải các tệp dữ liệu tài nguyên được liên kết.

Bạn không thể chỉnh sửa tài nguyên nhúng trực tiếp. Nếu bạn cố gắng chỉnh sửa một tài nguyên nhúng, bạn sẽ nhận được một thông báo nhắc bạn chuyển đổi mục đó thành một tài nguyên được liên kết để chỉnh sửa nó. Chuyển đổi được khuyến nghị nhưng không bắt buộc. Bạn phải xuất chúng, thực hiện các sửa đổi trong một chương trình bên ngoài, rồi nhập chúng trở lại vào dự án của bạn.


4
Điều này không trả lời được câu hỏi: sự khác biệt giữa tài nguyên nhúng và tài nguyên là gì? Bạn chỉ trả lời địa chỉ Tài nguyên được nhúng.
Grokys

3
Nội dung câu hỏi có nội dung "Khi nào tôi nên sử dụng cái này hay cái kia?"; Tôi nghĩ rằng tôi đã trả lời cho điều đó. Các câu hỏi thực sự là hai.
kiamlaluno

1

Cảm ơn vì tất cả các báo cáo, điều đó đã giúp tôi tìm ra chính xác hơn vấn đề nằm ở đâu: Đối với tôi, đó là những hình ảnh được sử dụng làm biểu tượng dự án trên thanh tác vụ được xây dựng dưới dạng tài nguyên và phải được xây dựng dưới dạng nội dung. Tất cả những hình ảnh khác có thể được xây dựng dưới dạng tài nguyên, không vấn đề gì.

Hy vọng điều này sẽ giúp cho tương lai.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.