2016-09-22 22 views
11

Không có gì được sử dụng để làm việc trong RC.x sẽ giúp ích nữa.Hiển thị phiên bản dự án trong ứng dụng web ASP.NET Core 1.0.0

Tôi đã thử các:

  1. PlatformServices.Default.Application.ApplicationVersion;

  2. typeof (Bộ điều khiển) .GetTypeInfo(). Assembly.GetCustomAttribute <AssemblyFileVersionAttribute>() .Version;

  3. Assembly.GetEntryAssembly(). GetName(). Version.ToString();

Tất cả họ đều trở 1.0.0.0 thay vì 1.0.0-9 đó nên sau khi thực hiện các dotnet publish --version-suffix 9 có này trong project.json: "version": "1.0.0-*"

Về cơ bản họ đưa cho tôi "phiên bản File" từ hình ảnh đính kèm thay vì " Phiên bản sản phẩm "mà dotnet publish thực sự dường như thay đổi.

enter image description here

Trả lời

18

Đối với phiên bản 1.x:

Assembly.GetEntryAssembly().GetCustomAttribute<AssemblyInformationalVersionAttribute>().InformationalVersion; 

Đối với phiên bản 2.0.0 Thuộc tính này chứa một cái gì đó xấu xí: 2.0.0 built by: dlab-DDVSOWINAGE041 nên sử dụng cái này:

typeof(RuntimeEnvironment).GetTypeInfo().Assembly.GetCustomAttribute<AssemblyFileVersionAttribute>().Version; 
+0

Cảm ơn, điều đó rất hữu ích. Tại sao nhóm lõi asp.net không hỗ trợ 1.0.0. * Thay vì 1- * nằm ngoài tôi. Số phiên bản cho các hội đồng Microsoft .NET luôn là int.int.int.int và có ý nghĩa từ quan điểm lập trình. Hỗ trợ một chuỗi trong một xây dựng # là không cần thiết và dẫn đến các vấn đề khác. – evermeire

+0

Thay vào đó, hãy sử dụng System.Reflection.IntrospectionExtensions.GetTypeInfo ( typeof (ArmoredOutputStream) ) .Assembly.GetCustomAttribute (). Version; // Lưu ý: nơi ArmoredOutputStream là một lớp trong assembly có phiên bản bạn muốn –

+0

Chỉnh sửa là gây hiểu lầm và có thể do một số cài đặt tùy chỉnh từ trình chỉnh sửa. Câu trả lời đúng là Assembly.GetEntryAssembly() GetCustomAttribute (). InformationalVersion FileVersion giảm các thẻ tiền phát hành –

5

Công việc này cho tôi cũng vậy:

@Microsoft.Extensions.PlatformAbstractions.PlatformServices.Default.Application.ApplicationVersion 

Nó hoạt động với tệp csproj - < Phiên bản> 1.2.3.4 hoặc < Phiên bảnPrefix> 1.2.3 </VersionPrefix>. Tuy nhiên, < VersionSuffix> không được recoganized như this doc nói.

+6

Không, lợi nhuận này luôn luôn 1.0.0.0. –

+0

Nó là phần mềm answare tốt hơn. Làm việc với các thuộc tính của dự án. (VS 2017) – harveyt

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