2014-12-24 19 views
6

tôi phải phân phối một phần mềm với 2 tên gọi khác nhau và, rõ ràng, với các thông tin lắp ráp khác nhau, chẳng hạn như tên, giới thiệu, công ty, vvThay đổi tên ứng dụng, biểu tượng và thông tin lắp ráp sau khi biên dịch

Tôi đang tập trung để tìm cách dễ dàng để xử lý vấn đề lớn này bằng cách chỉ thay đổi tên/biểu tượng/etc đã được biên dịch.

Thay đổi biểu tượng không phải là vấn đề, tôi đã tìm thấy một tập lệnh biên dịch dễ dàng. Nhưng tôi không thể tìm thấy bất kỳ bài viết về thay đổi lắp ráp infos.

  • Tôi đã thử với Mono.Cecil nhưng exe kết quả là luôn luôn bị hỏng
  • tôi đã cố gắng để tạo ra một dự án WPF mới mở rộng lớp App gốc nhưng nó sẽ không bắt đầu vì các nguồn lực không được tìm thấy và các lỗi khác
  • Tôi đã đọc hàng ngàn bài viết nhưng không có bài viết nào giúp tôi ..

Bạn có lời khuyên nào cho tôi không? hoặc ít nhất là một cách mới để đi?

+0

Cách "thích hợp" sẽ có 1 dự án WPF cho mỗi ứng dụng, tất cả đều chia sẻ mọi thứ nhưng những gì cần phải khác nhau. Nếu được thực hiện đúng, bạn có thể thêm một bản dựng mới, độc lập sau một vài phút. Không cung cấp câu trả lời vì nó sẽ quá dài đối với SO – Alex

+0

@Alex nếu tôi biết điều này, tôi có thể sắp xếp các dự án khác nhau, nhưng sau nhiều năm phát triển quá khó để tổ chức mọi thứ –

Trả lời

5

Hãy thử sử dụng preprocessor directives trong AssemblyInfo.cs như sau

#if XYZ 
[assembly: AssemblyTitle("NameXYZ")] 
#elif ABC 
[assembly: AssemblyTitle("NameABC")] 
#endif 

Sau đó chỉ cần xây dựng ứng dụng của bạn với hai cấu hình khác nhau (ABC, XYZ).

Như tôi đã hiểu, các bộ mô tả lắp ráp là một phần của siêu dữ liệu được ghi vào một assembly trong quá trình biên dịch và không thể dễ dàng (có thể có cách) thay đổi sau đó để bảo vệ người tiêu dùng tinker với nó.

+0

Có điều này có thể là một giải pháp, nhưng tôi phải complile (và obfuscate) hai lần. Tôi hy vọng có một giải pháp nhanh hơn .. –

+0

@BastianonMassimo Tôi không nghĩ rằng bạn có thể đi theo bất kỳ cách nào khác. Thông tin hội (hoặc biểu hiện) được ghi vào một assembly trong quá trình biên dịch là một phần của nó. Ngoài ra tôi nghĩ rằng có một số băm mô tả tất cả các siêu dữ liệu trong hội đồng và nếu bạn thay đổi một cái gì đó trong nó sau khi biên dịch, nó sẽ bị hỏng để bảo vệ người tiêu dùng. –

+0

Nó sẽ đau đớn hơn mỗi lần phát hành .. dammit –

Các vấn đề liên quan