summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/DotNetOpenAuth.Core/Messaging/StandardWebRequestHandler.cs16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/DotNetOpenAuth.Core/Messaging/StandardWebRequestHandler.cs b/src/DotNetOpenAuth.Core/Messaging/StandardWebRequestHandler.cs
index 98a2186..7774e49 100644
--- a/src/DotNetOpenAuth.Core/Messaging/StandardWebRequestHandler.cs
+++ b/src/DotNetOpenAuth.Core/Messaging/StandardWebRequestHandler.cs
@@ -27,7 +27,7 @@ namespace DotNetOpenAuth.Messaging {
/// <summary>
/// The value to use for the User-Agent HTTP header.
/// </summary>
- private static string userAgentValue = Assembly.GetExecutingAssembly().GetName().Name + "/" + Assembly.GetExecutingAssembly().GetName().Version;
+ private static string userAgentValue = Assembly.GetExecutingAssembly().GetName().Name + "/" + GetAssemblyFileVersion();
#region IWebRequestHandler Members
@@ -245,5 +245,19 @@ namespace DotNetOpenAuth.Messaging {
}
}
}
+
+ /// <summary>
+ /// Gets the assembly file version of the executing assembly, otherwise falls back to the assembly version.
+ /// </summary>
+ private static string GetAssemblyFileVersion() {
+ var assembly = Assembly.GetExecutingAssembly();
+ var attributes = assembly.GetCustomAttributes(typeof(AssemblyFileVersionAttribute), false);
+ if (attributes.Length == 1) {
+ var fileVersionAttribute = (AssemblyFileVersionAttribute)attributes[0];
+ return fileVersionAttribute.Version;
+ }
+
+ return assembly.GetName().Version.ToString();
+ }
}
}