From 23a9ca5184d770bfe9893195d4bc5bee908928ec Mon Sep 17 00:00:00 2001
From: Jan Tattermusch <jtattermusch@google.com>
Date: Mon, 25 Apr 2016 13:14:11 -0700
Subject: [PATCH] fix assembly version attributes for C#

---
 src/csharp/Grpc.Core/Version.cs                       |  3 ++-
 src/csharp/Grpc.Core/VersionInfo.cs                   | 11 +++++++++--
 .../src/csharp/Grpc.Core/VersionInfo.cs.template      | 11 +++++++++--
 3 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/src/csharp/Grpc.Core/Version.cs b/src/csharp/Grpc.Core/Version.cs
index 8a26bd8362..f5c44fd098 100644
--- a/src/csharp/Grpc.Core/Version.cs
+++ b/src/csharp/Grpc.Core/Version.cs
@@ -33,5 +33,6 @@
 
 using System.Reflection;
 
-// The current version of gRPC C#.
 [assembly: AssemblyVersion(Grpc.Core.VersionInfo.CurrentAssemblyVersion)]
+[assembly: AssemblyFileVersion(Grpc.Core.VersionInfo.CurrentAssemblyFileVersion)]
+[assembly: AssemblyInformationalVersion(Grpc.Core.VersionInfo.CurrentVersion)]
diff --git a/src/csharp/Grpc.Core/VersionInfo.cs b/src/csharp/Grpc.Core/VersionInfo.cs
index 9014a13f40..f7a9cb9c1c 100644
--- a/src/csharp/Grpc.Core/VersionInfo.cs
+++ b/src/csharp/Grpc.Core/VersionInfo.cs
@@ -35,13 +35,20 @@ namespace Grpc.Core
 {
     /// <summary>
     /// Provides info about current version of gRPC.
+    /// See https://codingforsmarties.wordpress.com/2016/01/21/how-to-version-assemblies-destined-for-nuget/
+    /// for rationale about assembly versioning.
     /// </summary>
     public static class VersionInfo
     {
         /// <summary>
-        /// Current version of gRPC C# assemblies
+        /// Current <c>AssemblyVersion</c> attribute of gRPC C# assemblies
         /// </summary>
-        public const string CurrentAssemblyVersion = "0.14.0.0";
+        public const string CurrentAssemblyVersion = "1.0.0.0";
+
+        /// <summary>
+        /// Current <c>AssemblyFileVersion</c> of gRPC C# assemblies
+        /// </summary>
+        public const string CurrentAssemblyFileVersion = "0.14.0.0";
 
         /// <summary>
         /// Current version of gRPC C#
diff --git a/templates/src/csharp/Grpc.Core/VersionInfo.cs.template b/templates/src/csharp/Grpc.Core/VersionInfo.cs.template
index 3ca111e72b..96cf2ee17f 100644
--- a/templates/src/csharp/Grpc.Core/VersionInfo.cs.template
+++ b/templates/src/csharp/Grpc.Core/VersionInfo.cs.template
@@ -37,13 +37,20 @@
   {
       /// <summary>
       /// Provides info about current version of gRPC.
+      /// See https://codingforsmarties.wordpress.com/2016/01/21/how-to-version-assemblies-destined-for-nuget/
+      /// for rationale about assembly versioning.
       /// </summary>
       public static class VersionInfo
       {
           /// <summary>
-          /// Current version of gRPC C# assemblies
+          /// Current <c>AssemblyVersion</c> attribute of gRPC C# assemblies
           /// </summary>
-          public const string CurrentAssemblyVersion = "${settings.version.major}.${settings.version.minor}.${settings.version.patch}.0";
+          public const string CurrentAssemblyVersion = "1.0.0.0";
+
+          /// <summary>
+          /// Current <c>AssemblyFileVersion</c> of gRPC C# assemblies
+          /// </summary>
+          public const string CurrentAssemblyFileVersion = "${settings.version.major}.${settings.version.minor}.${settings.version.patch}.0";
 
           /// <summary>
           /// Current version of gRPC C#
-- 
GitLab