- [DATABASE] Hướng dẫn tạo Procedure String Split in Mysql
- [C#] Thiết lập dấu (,) hay dấu (.) ở định dạng số đúng với định dạng số Việt Nam
- [C#] Chia sẻ source code Game Spin Lucky Wheel
- [C#] Hướng dẫn Encode and Decode HTML
- Hướng dẫn tạo tài khoản Chat Open AI GPT tại Việt Nam
- [C#] Hướng dẫn thay đổi giao diện ứng dụng Winform theo giao diện của Windows
- [VB.NET] Hiệu ứng Acrylic, Mica, Tabbed Blur Effect trên Winform
- [DEVEXPRESS] Hướng dẫn sử dụng HTML Template trên Combobox Edit
- [C#] Chia sẻ source code Orange Rain in Winform
- [DEVEXPRESS] Hướng dẫn sử dụng HTML Template trên XtraMessageBox Winform Devexpress 22.2.3
- [DEVEXPRESS] Hướng dẫn sử dụng HTML and CSS Code Viewer trên Winform
- [C#] Number Effect Counter up and down in winform
- [C#] Hướng dẫn Supend and Resume Process ID in Winform
- [C#] Hiển thị line number trên Richtextbox Winform
- [C#] Fake Blue Screen BSOD in winform
- [C#] Chia sẽ code demo sử dụng Async Parallel Foreach and For in Winform
- [C#] Sử dụng ActionBlock run X task at time winform
- [C#] Hướng dẫn sử dụng Property Grid để lưu và tải lại thông tin cấu hình user trên winform
- [C#] Hướng dẫn bắt sự kiện khi đối tượng di chuyển chạm vào object trên winform HitTest Object
- [SQLSERVER] Sử dụng GROUP BY và ROLLUP, CUBE để thống kê dữ liệu
[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!