2009-12-07 18 views
6

Chúng tôi có một quy trình xây dựng dựa trên hàng loạt và chúng tôi đang sử dụng MSBuild chỉ để biên dịch các tệp dự án của chúng tôi từ studio trực quan. Chúng tôi cũng đã tích hợp wix vào quá trình xây dựng của chúng tôi. Để thiết lập phiên bản phần mềm của chúng tôi, chúng tôi chỉ định trong kịch bản lệnh xây dựng chính một số biến môi trường, mà chúng tôi sử dụng trong quá trình xây dựng. Vấn đề của tôi là, tôi phải thiết lập FileVersion của Assembly (AssemblyFileVersion) trong assembly-informations của tôi. Có cách nào để gọi MSBuild một thuộc tính với phiên bản cần thiết không? Như thế này (điều này không hoạt động):Cài đặt AssemblyFileVersion với MSBuild-call?

%dotnetdir%msbuild.exe Viewer.csproj /property:Configuration=Release /property:Platform=AnyCPU /property:AssemblyFileVersion=%major%.%minor%.%build% 

Kết quả hội nghị phải có sự chuyển đổi tập tin %major%.%minor%.%build%. Đó là nỗi đau cho tôi để thiết lập AssemblyFileVersion-thiết lập trong tất cả các dự án. Và một chương trình đang làm điều này là chống lại triết lý của tôi (tôi không muốn thay đổi nguồn của mình bằng các quy trình tự động). Phiên bản phải được đặt thông qua tập lệnh xây dựng. Không cần thiết rằng AssemblyFileVersion được đặt trong AssemblyInfo.cs

Hoặc có khả năng với MSBuild để chỉ định tệp cấu hình xml mô tả thông tin lắp ráp không?

Sẽ tuyệt vời nếu có bất kỳ lời khuyên nào.

lời chào, cảm ơn, Martin

Trả lời

7

Các VersionAssemblyInfo nhiệm vụ từ dự án MSBuild Community Tasks có thể giúp đỡ.

+2

Bất kỳ ví dụ nào về hành động này? Đã thử trên một .wdproj và các hội đồng tham chiếu không cập nhật phiên bản. – yanta

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