Question: How to version dotnet core assemblies
See original GitHub issue@golfguy0082 commented on Thu Apr 06 2017
Forgive me if this is not the appropriate channel for a question. I’m trying to figure out how to version (and retrieve) assembly versions in dotnet core (both build and publish). I’ve been searching for documentation on this, but I’ve come up empty. Below are some things I’ve tried.
dotnet publish /p:Version=3.0.1
(where [Version]3.0.0[/Version] is defined in csproj)
dotnet publish --version-suffix 1
(where [VersionPrefix]3.0[/VersionPrefix] is defined in csproj)
I’m retrieving the version using the following code:
typeof(ReflectionUtils).GetTypeInfo().Assembly.GetName().Version.ToString();
ReflectionUtils is an arbitrary type in my assembly. No matter what I try, the version retrieved from the above line shows 3.0.0.0.
Can anyone point out what I’m doing wrong, or point me in the direction of a page that explains some of this stuff more fully?
@karelz commented on Thu Apr 06 2017
The code you wrote inspects assembly version (defined by AssemblyVersionAttribute).
I don’t know what the dotnet publish
command sets in csproj – @davkean any idea where to direct the question? Does it belong into your area or CLI area?
@tarekgh commented on Fri Apr 07 2017
@golfguy0082 net core is not different than the full framework. you can set the assembly version in your assembly by adding the attributes like
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
and the way you are calling Assembly class to get the version is correct. The example in the link https://msdn.microsoft.com/en-us/library/system.reflection.assembly(v=vs.110).aspx is demonstrating that
@weshaggard commented on Fri Apr 07 2017
.NET Core tooling is a little different because we have enabled folks to set the value in msbuild properties directly. @golfguy0082 have a look at https://github.com/dotnet/sdk/issues/2 which is I think the closest set of documentation that I can find on the matter.
@tarekgh commented on Fri Apr 07 2017
I’ll move this issue to the SDK repo per Wes comment
Issue Analytics
- State:
- Created 6 years ago
- Reactions:1
- Comments:7 (4 by maintainers)
Top GitHub Comments
How can I achieve auto increment of the assembly version like we could with
AssemblyVersion("1.0.*")
(which generates this compiler error in the new projects):Any ideas please?
@weitzhandler Looking at the source code, wildcards are only allowed if the build is not deterministic, which seems to be the default for .Net Core projects.
Adding
<Deterministic>False</Deterministic>
to my csproj indeed fixes the issue for me.Though the error message does not help with figuring that out, so I have opened an issue about that: https://github.com/dotnet/roslyn/issues/22660.