itinero / routing

The routing core of itinero.
Apache License 2.0
221 stars 70 forks source link

Incorrect assembly product version #255

Open AndersHGP opened 5 years ago

AndersHGP commented 5 years ago

In nuget package 1.4.0-pre99 lib netstandard1.3 and netstandard2.0 the Itinero.dll has assembly product version 1.0.0.0 instead of 1.4.0-pre99 is that on purpose?

TomQv commented 5 years ago

Reminiscence is also seems to be wrong.

Package 1.2.0-pre08 contains old Reminiscence.dll from Aug.2018

xivk commented 5 years ago

Probably because of the way we handle the version numbering:

https://github.com/itinero/routing/blob/develop/SharedAssemblyVersion.cs#L3

We use one shared file on all the projects but it could be this isn't working properly anymore with .NET core based project files and builds. If anyone knows how to fix this or to get a similar system (with only one file to set a version #) please let us know.

TomQv commented 5 years ago

I also don't know, its just another dll-hell....

But which Reminiscence.dll is now the one to use with Itinero? Because last night I got en exception from Reminiscence while contracting australia-latest.osm and I noticed, that Reminiscence.dll in my debug-folder is one year old..

xivk commented 5 years ago

If you use the nuget packages to install you shouldn't have an issue with these version #s. They have no functional value except to keep track of what code was used to build an assembly.

TomQv commented 5 years ago

I use nuget, but for me it looks like an issue, if 1.2.0-pre08 has older dlls then 1.2.0. If you say, thats ok, I need to open a new issue, because of that crash I had with Reminiscence

airbreather commented 5 years ago

If anyone knows how to fix this or to get a similar system (with only one file to set a version #) please let us know.

I just redid this for NTS in NetTopologySuite/NetTopologySuite#299, in case you're interested in seeing an alternative.

AndersHGP commented 5 years ago

@xivk In my .Net core 2.0 Project it expects the assembly version to be 1.4.0.0 and throws an exception since it cant find it.

AndersHGP commented 5 years ago

@xivk Okay now i know what was happening. I had one nuget with dependency itinero 1.4.0-pre38(assembly version 1.4.0.0) and another nuget with dependency 1.4.0-pre99(assembly version 0.0.0.0) Compiling was OK. But fails at runtime since the coreclr expects a dll with higher assembly version or equal so it fails.