- Tạo bản quyền phần mềm C# và bảo mật code | The Enigma Protector
- [C#] Hướng dẫn giới hạn số cửa sổ ứng dụng khi chạy trên winform
- [C#] Lập trình ứng dụng lấy ngày giờ hệ thống mạng LAN sử dụng giao thức UDP
- [DATABASE] Sự khác nhau giữa hai câu lệnh TRUNCATE vs DELETE trong sqlserver
- [C#] Các cách chuyển đổi kiểu dữ liệu text String sang kiểu số Int
- [C#] Di chuyển và thay đổi kích thước Control Winform khi ứng dụng đang chạy
- [VB.NET] Chia sẻ source tạo sắp xếp đội hình bóng đá Line-ups đội bóng
- [C#] Hướng dẫn chỉnh sửa Text của label trực tiếp trên winform
- [C#] Hướng dẫn custom TextBox giống Ultraviewer trên Winform
- [C#] Show Modal Winform like Bootstrap
- [DATABASE] Thứ tự thực hiện mệnh đề truy vấn SELECT trong Sqlserver
- [C#] Hướng dẫn viết addin Excel Lấy hình ảnh từ URL internet vào Excel
- [DATABASE] TSQL view max length all column data trên table Sqlserver
- [DEVEXPRESS] Hướng dẫn sử dụng MailMerge kèm Hình ảnh trên Winform
- [DATABASE] Hướng dẫn truy vấn xem kích thước lưu trữ của từng bảng ghi Table trên sqlserver
- [C#] Hướng dẫn Fake Date Time sử dụng thư viện Harmony
- [DATABASE] Phân biệt câu lệnh DDL và DML trong sqlserver
- [C#] Hướng dẫn convert file mã HTML sang file Pdf trên winform
- [DEVEXPRESS] Tạo các loại mã vạch Barcode trực tiếp trên Devexpress Barcode API
- [DEVEXPRESS] Hướng dẫn custom Simple button thành Progressbar
[C#] Hướng dẫn gom như thư viện dll vào một thư mục đặc biệt tách rời file chạy exe winform
Xin chào các bạn, bài viết hôm nay mình sẽ tiếp tục hướng dẫn các bạn cách gom các thư viện dll vào một thư mục và không nằm chung với file chạy chương trình exe winform C#.
[C#] Store Library to Special Folder Winform
Khi các bạn lập trình ứng dụng Winform C# hay VB.NET, thì khi các bạn build ứng dụng.
Các bạn sẽ thấy các thư viện dll của mình file chạy exe và các file config đều nằm chung một folder "Debug", và nếu bạn nào đang sử dụng Devexpress nữa thì sẽ thấy rất rối mắt.
Và mình làm sao để gom tất cả các thư viện hay hình ảnh vào một folder khác, mà không nằm ngoài cùng với file chạy chương trình.
Các bạn có thể xem hình ảnh bên dưới đây:
Hình 1: là hình mặc định ứng dụng khi build
Hình 2: đã gom các thư viện vào chung một folder Lib.
Từ hình 1 sang hình 2, các bạn sẽ dễ dàng thấy được trông ứng dụng của mình gọn gàng và đẹp hơn nhiều rồi phải không.
Bây giờ mình sẽ hướng dẫn thực hiện gom tất cả các file trừ file dll vào thư mục lib.
Đầu tiên, các bạn mở file app.config
và thêm vào đoạn code như hình bên dưới:
Ở mục, privatePath="lib"
(lib là tên thư mục mà các bạn muốn gom cái thư viện và hình ảnh, hay bất cứ gì vào)
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="lib"/>
</assemblyBinding>
</runtime>
Bước 2: Các bạn mở Setting của Project => tab Build Events
Sau đó, ở mục post-build event command line, các bạn thêm vào nội dung như hình bên dưới, để khi các bạn chạy start project, nó sẽ tự động move file vào file lib.
Code cho các bạn paste vào:
; Move all assemblies and related files to lib folder
ROBOCOPY "$(TargetDir) " "$(TargetDir)lib " /XF *.exe *.config *.manifest /XD lib logs data /E /IS /MOVE
if %errorlevel% leq 4 exit 0 else exit %errorlevel%
Ở đoạn code này đơn giản là sử dụng lệnh command ROBOCOPY
.
Tham số: $(TargetDir) => thư mục Debug của các bạn.
XF
: bao gồm những files (nhưng không di chuyển các file có phần mở rộng:*.exe
,*.config
or*.manifest
files)XD
: bao gồm những folders (nhưng không di chuyểnlib
,logs
anddata
subfolders)
Vậy là xong, hy vọng bài viết sẽ giúp ích được cho các bạn.
Thanks for watching!