2009-07-21 37 views
23

tôi có trong lớp AssemblyInfo.cs tôi mã:Phiên bản Tệp Phiên bản không thay đổi?

[assembly: AssemblyVersion("1.0.*")] 
[assembly: AssemblyFileVersion("1.0.*")] 

Calling System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString() hoạt động tốt và cung cấp cho các phiên bản cập nhật, tuy nhiên, khi tôi nhìn vào dll được tạo ra trong windows explorer, nhấn chuột phải thuộc tính, nhấp vào ' tab chi tiết ', tệp chuyển đổi cho biết "1.0.0.0" ngay cả khi đầu ra ở trên nói 1.0.3489.17621?

+0

Phiên bản Visual Studio nào? –

+0

Visual studio 2008, doh! – maxp

+0

xem http://stackoverflow.com/questions/64602/what-are-differences-between-assemblyversion-assemblyfileversion-and-assemblyin – John

Trả lời

29

Bạn không thể sử dụng 1.0. * Để tự động tăng AssemblyFileVersion, chỉ có AssemblyVersion. (Đã kiểm tra trong tất cả các phiên bản Visual Studio từ 2005 đến 2012).

Comment ra dòng sau

[assembly: ("1.0 *") AssemblyFileVersion]

và File Version sẽ mất số lượng tương tự như phiên bản hội.

+0

Hoạt động, tôi sử dụng vs2008 để có vẻ như đã chuyển sang. – maxp

+0

Tình hình khủng khiếp, bắt tôi ra năm ngoái, ngón tay vượt qua cho năm 2010! –

+0

Thật không may có vẻ như họ đã không thay đổi nó. tôi có được điều này: warning CS1607: Assembly generation -- The version '1.0.*' specified for the 'file version' is not in the normal 'major.minor.build.revision' format

22

Patrick đã đưa ra câu trả lời đúng, nhưng đây chỉ là một lời khuyên nhỏ. Nếu bạn nhìn vào AssemblyInfo.cs bạn sẽ tìm thấy các khối sau ở cuối:

// Version information for an assembly consists of the following four values: 
// 
//  Major Version 
//  Minor Version 
//  Build Number 
//  Revision 
// 
// You can specify all the values or you can default the Build and Revision Numbers 
// by using the '*' as shown below: 
//[assembly: AssemblyVersion("1.0.*")] 
[assembly: AssemblyVersion("1.0.0.0")] 
[assembly: AssemblyFileVersion("1.0.0.0")] 

Bây giờ đi vào và lật bình luận từ ba dòng cuối cùng như sau:

[assembly: AssemblyVersion("1.0.*")] 
//[assembly: AssemblyVersion("1.0.0.0")] 
//[assembly: AssemblyFileVersion("1.0.0.0")] 

Và tất cả mọi thứ công trình như mong đợi ... :-)

+1

Excellente, đã đưa ra câu trả lời cho thẻ Patrick nhưng sẽ đã cho nó hai lần nếu tôi có thể: D – maxp

+0

đây là một câu trả lời rõ ràng hơn – rajeemcariazo

+0

Thú vị rằng cố gắng để trống ra AssemblyFileVersion trong GUI không cho phép bạn cho đến khi bạn nhận xét nó như thế này. Cảm ơn! –

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