Tui có làm một dự án .NET theo kiểu module, tức là có 1 project “main” có đầy đủ các assets, function dùng chung… Mấy chức năng con con chỉ cần tạo project khác viết trong Areas là xong, dễ chia nhỏ chức năng cho nhiều người, mỗi người ôm một cục.
Tuy nhiên, khi publish để chạy với project main thì sẽ bị tình trạng hoặc Visual Studio xóa hết dữ liệu trong cái thư mục được publish (có nghĩa là xóa sạch project main đó!) đến hoặc copy đè các file không cần thiết vào, trong khi mình chỉ cần nội dung trong thư mục Areas là đủ. Để khỏi mất công xóa hoặc Exclude các thư mục dư thừa như Controllers;Models;Views;fonts hay Web.config – mà thật sự xài chiêu này rất là dở vì lúc đó Visual Studio hết nhận diện được đầy đủ cấu trúc project MVC nữa, mấy cái Intellisense cũng chạy hết sức quờ quạng rất chán, kiểu như viết bằng Notepad mà còn bị highlight code vì IDE tưởng đang lỗi nữa – thì sau khi tạo Publish Profile tới màn Preview bạn khoan hãy Publish vội mà cứ bấm Close.
Trong cửa sổ Solution Explorer mở Properties> PublishProfiles> [tên profile].pubxml bổ sung thêm đoạn code bên dưới để không deployment các file và thư mục cụ thể.
<ExcludeFoldersFromDeployment>Controllers;Models;Views;fonts</ExcludeFoldersFromDeployment> <ExcludeFilesFromDeployment>Web.config</ExcludeFilesFromDeployment>
Vậy là xong!