On Wednesday, February 28, 2018 at 8:25:23 AM UTC-5, mwpowellhtx wrote:
>
>
>
> On Tuesday, February 27, 2018 at 3:58:38 PM UTC-5, Alexander Zaytsev wrote:
>>
>> Hi Michael,
>>
>> 1. NHibernate has fixed assembly version numbers, they do change only 
>> when minor/major version change:
>>
>> - All 4.0.x assemblies have 4.0.0.4000 assembly version number (4000 is a 
>> rudimentary from prior version format meaning GA)
>> - All 4.1.x assemblies have 4.1.0.4000 assembly version number
>> - All 5.0.x assemblies have 5.0.0.0 assembly version number
>> - All 5.1.x assemblies will have 5.1.0.0 assembly version number
>>
>
> I'm not sure what this means? From NuGet package dependency perspective? 
>
> 2. FluentNHibernate 2.0.3 was compiled against NHibernate 4.0.x and was 
>> not recompiled again.
>>
>
> Fine, but let's look at the Fluent NuGet package spec: 
> "FluentNHibernate.nuspec"
>
> Interesting, that the reference is set to specifically: 4.0; which, if I 
> understand NuGet package dependencies, would allow for upgrades in the 
> patch path, i.e. 4.0.1, 4.0.2, etc.
>
> <dependencies>
>   <dependency id="NHibernate" version="4.0" />
> </dependencies>
>  
>
>> 3. Because NHibernate has a signed strong name, you would need to have a 
>> binding redirect in place when you update to next minor/major version.
>>
>
> Which, obviously this is breaking down somewhere in the process. The 
> dependency is apparently seen someone as 4.0.0, in a manner of speaking, in 
> spite of the packaging system allowing for the patch.
>
> So, which is it? Allowing for the version range? If not, then just say so, 
> i.e. 4.0.0.
>

It's actually worse than that. Depending on "4.0" to NuGet sees that as 
NHibernate (>= 4.0). Which is fine as long as we're talking about API 
compatibility.

Thus far, my take away includes that I am basically stuck a 4.0.0.4000 for 
purposes of this.

When I specify my version ranges, it depends on the dependency maintainer's 
policies, of course, but let's say that API compatibility remains 
consistent for a major version. Then I would want my dependency something 
like this:

<dependencies>
  <dependency id="NHibernate" version="[4,5)" />
</dependencies>


That said, moving forward, what are the changes coming in the next version 
> from 2.0.3/4.0?
>
> I paid some attention to that discussion, but was curious about what 
> breaking changes there may be assuming that's the recommended path forward 
> following this particular discussion.
>
> Best Regards,
>> Alexander
>>
>> On Wed, Feb 28, 2018 at 9:27 AM, Michael Powell <mwpow...@gmail.com> 
>> wrote:
>>
>>> I am receiving the following exception as well. It's been several
>>> years since anything even touched machine.config, but I've been doing
>>> work since then, so whatever this is, it is recent. I'm not sure why
>>> the NHibernate reference such as it is since I am referencing NuGet
>>> package 4.1.1.4000, supporting FluentNHibernate 2.0.3. If it's not an
>>> NHibernate, or FluentNHibernate, thing, possibly it is a R# thing, at
>>> least given the LOG response.
>>>
>>> System.IO.FileNotFoundException was unhandled by user code
>>>   FileName=NHibernate, Version=4.0.0.4000, Culture=neutral,
>>> PublicKeyToken=aa95f207798dfdb4
>>>   FusionLog==== Pre-bind state information ===
>>> LOG: DisplayName = NHibernate, Version=4.0.0.4000, Culture=neutral,
>>> PublicKeyToken=aa95f207798dfdb4
>>>  (Fully-specified)
>>> LOG: Appbase = 
>>> file:///C:/Users/Michael/AppData/Local/JetBrains/Installations/ReSharperPlatformVs14/
>>> LOG: Initial PrivatePath = NULL
>>> Calling assembly : FluentNHibernate, Version=2.0.3.0, Culture=neutral,
>>> PublicKeyToken=null.
>>> ===
>>> LOG: This bind starts in LoadFrom load context.
>>> WRN: Native image will not be probed in LoadFrom context. Native image
>>> will only be probed in default load context, like with
>>> Assembly.Load().
>>> LOG: Using application configuration file:
>>>
>>> C:\Users\Michael\AppData\Local\JetBrains\Installations\ReSharperPlatformVs14\JetBrains.ReSharper.TaskRunner.CLR45.x64.exe.Config
>>> LOG: Using host configuration file:
>>> LOG: Using machine configuration file from
>>> C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config.
>>> LOG: Post-policy reference: NHibernate, Version=4.0.0.4000,
>>> Culture=neutral, PublicKeyToken=aa95f207798dfdb4
>>> LOG: Attempting download of new URL
>>>
>>> file:///C:/Users/Michael/AppData/Local/JetBrains/Installations/ReSharperPlatformVs14/NHibernate.DLL.
>>> LOG: Attempting download of new URL
>>>
>>> file:///C:/Users/Michael/AppData/Local/JetBrains/Installations/ReSharperPlatformVs14/NHibernate/NHibernate.DLL.
>>> LOG: Attempting download of new URL
>>>
>>> file:///C:/Users/Michael/AppData/Local/JetBrains/Installations/ReSharperPlatformVs14/NHibernate.EXE.
>>> LOG: Attempting download of new URL
>>>
>>> file:///C:/Users/Michael/AppData/Local/JetBrains/Installations/ReSharperPlatformVs14/NHibernate/NHibernate.EXE.
>>> LOG: Attempting download of new URL file:///G:/Source/Kingdom
>>>
>>> Software/Kingdom.Foundations/Prototype/src/Kingdom.Data.Repository.Hibernate.Fluent.Tests/bin/Debug/NHibernate.DLL.
>>> WRN: Comparing the assembly name resulted in the mismatch: Minor Version
>>> LOG: Attempting download of new URL file:///G:/Source/Kingdom
>>>
>>> Software/Kingdom.Foundations/Prototype/src/Kingdom.Data.Repository.Hibernate.Fluent.Tests/bin/Debug/NHibernate/NHibernate.DLL.
>>> LOG: Attempting download of new URL file:///G:/Source/Kingdom
>>>
>>> Software/Kingdom.Foundations/Prototype/src/Kingdom.Data.Repository.Hibernate.Fluent.Tests/bin/Debug/NHibernate.EXE.
>>> LOG: Attempting download of new URL file:///G:/Source/Kingdom
>>>
>>> Software/Kingdom.Foundations/Prototype/src/Kingdom.Data.Repository.Hibernate.Fluent.Tests/bin/Debug/NHibernate/NHibernate.EXE.
>>>
>>>   HResult=-2147024894
>>>   Message=Could not load file or assembly 'NHibernate,
>>> Version=4.0.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4'
>>> or one of its dependencies. The system cannot find the file specified.
>>>   Source=Kingdom.Data.Repository.Hibernate.Fluent
>>>   StackTrace:
>>>        at 
>>> Kingdom.Data.Repository.Hibernate.Fluent.FluentHibernateSessionFactoryConfigurationManager`1.CreateManagedConfiguration(TManagerConfig
>>> managerCfg)
>>>        at 
>>> Kingdom.Data.Repository.Hibernate.Fluent.FluentHibernateSessionFactoryConfigurationManager`1.CreateSessionFactory(TManagerConfig
>>> managerCfg) in G:\Source\Kingdom
>>>
>>> Software\Kingdom.Foundations\Prototype\src\Kingdom.Data.Repository.Hibernate.Fluent\Core\FluentHibernateSessionFactoryConfigurationManager.cs:line
>>> 196
>>>        at 
>>> Kingdom.Data.Repository.Hibernate.Fluent.FluentHibernateSessionFactoryConfigurationManager`1.CreateSession(String
>>> connectionString) in G:\Source\Kingdom
>>>
>>> Software\Kingdom.Foundations\Prototype\src\Kingdom.Data.Repository.Hibernate.Fluent\Core\FluentHibernateSessionFactoryConfigurationManager.cs:line
>>> 60
>>>        at 
>>> Kingdom.Data.Repository.SessionFactoryManagerBase`3.get_Item(String
>>> connectionString) in G:\Source\Kingdom
>>>
>>> Software\Kingdom.Foundations\Prototype\src\Kingdom.Data.Repository\Core\SessionFactoryManagerBase.cs:line
>>> 97
>>>        at 
>>> Kingdom.Data.Repository.Hibernate.Fluent.Modules.MigrationManagerModule.<>c__DisplayClass2_0`1.<BuildMigrationManager>b__0(PreparingEventArgs
>>> args) in G:\Source\Kingdom
>>>
>>> Software\Kingdom.Foundations\Prototype\src\Kingdom.Data.Repository.Hibernate.Fluent.Tests\Modules\MigrationManagerModule.cs:line
>>> 46
>>>        at 
>>> Autofac.Core.Registration.ComponentRegistration.RaisePreparing(IComponentContext
>>> context, IEnumerable`1& parameters)
>>>        at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1
>>> parameters)
>>>        at Autofac.Core.Lifetime.LifetimeScope.GetOrCreateAndShare(Guid
>>> id, Func`1 creator)
>>>        at Autofac.Core.Resolving.InstanceLookup.Execute()
>>>        at 
>>> Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope
>>> currentOperationScope, IComponentRegistration registration,
>>> IEnumerable`1 parameters)
>>>        at 
>>> Autofac.Core.Resolving.ResolveOperation.Execute(IComponentRegistration
>>> registration, IEnumerable`1 parameters)
>>>   InnerException:
>>>
>>> On Tue, Feb 27, 2018 at 3:08 PM, Michael Powell <mwpow...@gmail.com> 
>>> wrote:
>>> > Hello,
>>> >
>>> > I have what I think is a broken assembly reference.
>>> >
>>> > I am running against Fluent 2.0.3, and I've updated NHibernate to what
>>> > I think is 4.1.1.4000, however, the references being called out are
>>> > 4.1.0.4000, which is not being found. This is well within the
>>> > documented reference constraints, such as  they are. But if Fluent is
>>> > expecting an EXACT match, then the NuGet spec should just say so.
>>> >
>>> > Possibly a build/deployment snafu, methinks?
>>> >
>>> > Not sure if this is an NHibernate issue, or possibly a broken Fluent
>>> > reference, per se.
>>> >
>>> > Running against desktop .NET framework, not .NET Core/Standard, at 
>>> this point.
>>> >
>>> > Thoughts?
>>> >
>>> > Best,
>>> >
>>> > Michael Powell
>>>
>>> --
>>> You received this message because you are subscribed to the Google 
>>> Groups "Fluent NHibernate" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to fluent-nhibern...@googlegroups.com.
>>> To post to this group, send email to fluent-n...@googlegroups.com.
>>> Visit this group at https://groups.google.com/group/fluent-nhibernate.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"Fluent NHibernate" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fluent-nhibernate+unsubscr...@googlegroups.com.
To post to this group, send email to fluent-nhibernate@googlegroups.com.
Visit this group at https://groups.google.com/group/fluent-nhibernate.
For more options, visit https://groups.google.com/d/optout.

Reply via email to