Đầu tiên, một nền nhỏ.Cách tốt nhất để thực hiện đổi tên không gian tên số lượng lớn trên một ứng dụng C# lớn là gì?
Hiện tại không gian tên và lắp ráp trong codebase của chúng tôi (~ 60 cụm, hàng ngàn lớp) trông giống như
WidgetCompany.Department.Something
Chúng tôi hiện nay đã được tách ra như vậy mà chúng tôi đang bán các phần mềm mà lái WidgetCompany, vì vậy chúng tôi muốn đổi tên namespace & hội
NewCompany.Something
trong những trường hợp bình thường tôi có lẽ chỉ gắn bó với không gian tên cũ, nhưng vấn đề là khách hàng của chúng tôi không muốn nhìn thấy tên của một trong những đối thủ cạnh tranh của họ anywh trong ứng dụng. Trong cơ hội ra rằng họ thấy một dấu vết ngăn xếp, lắp ráp tài sản vv, nó sẽ không hiển thị. Nó không có nghĩa là để che giấu cộng sự của chúng tôi hoặc làm bất cứ điều gì nham hiểm, chúng tôi chỉ cần đảm bảo rằng mọi người biết chúng tôi là một thực thể riêng biệt, quản lý riêng biệt và họ không cần phải lo lắng về dữ liệu đang được chia sẻ v.v.
Bây giờ câu hỏi. Cách tốt nhất để thực hiện kiểu đổi tên bao gồm tất cả này là gì? Sau đây sẽ cần phải thay đổi:
- Namespace cho (gần như) mọi tầng lớp trong ứng dụng
- Mỗi
using
tuyên bố trong ứng dụng mà tham chiếu tên cũ - cấu trúc thư mục cho từng dự án
- Tham khảo giữa các dự án dựa trên cấu trúc thư mục đã thay đổi
- .Lưu tệp tham chiếu cấu trúc thư mục đã thay đổi
- Bất kỳ tài liệu tham khảo để những lớp học có đủ đủ điều kiện (nên ít và xa giữa )
- Bất kỳ tài liệu tham khảo cho những lớp trong các file xml cấu hình (config phần vv)
- file AssemblyInfo.cs cho mỗi lắp ráp
- AssemblyName trong mỗi csproj nộp
tôi bị mắc kẹt với chiến lược tìm-thay-cầu nguyện hoặc là có một cái gì đó tốt hơn?
Đăng ký, tìm, thay thế, xây dựng. Hoặc có thể là ReSharper. – Will
Tên không gian mới trong một .dll mới hoặc cùng một dll với không gian tên đã thay đổi và biên dịch lại –
Trình thu thập lại có thay đổi tên miền => thay đổi không gian tên không? Đã lâu rồi kể từ khi tôi sử dụng nó, nhưng tôi đã không nghĩ như vậy. – Brook