24. července 2012 16:25
I'm using all NuGet packages for things and I have noticed that there are reference problems in my app:
This assembly (from the transient fault part of EntLib):
References this assembly (an AppFabric Server assembly):
This screws up the inclusion of this assembly (from Caching Preview):
Not sure why the Transient FaultHandling framework needs to access AppFabric Server Caching assemblies, but it seems like we might be missing an abstraction in there..
Anyone have a solution to this?
25. července 2012 10:34Moderátor
According to your description, It seems that the AppFabric Server assembly and Windows Azuare Caching (Preview) service assembly has version conflict, if you only create Azure application for youself, try to use Caching Preview assembly and see if there's any exception.
- Označen jako odpověď Arwind - MSFTModerator 30. července 2012 9:03
19. srpna 2012 14:24
I am facing the issue. Yes there is conflict between two. Cache preview needs to user Core assemble of version 1.0.4655.0 while "Microsoft.Practices.EnterpriseLibrary.WindowsAzure.TransientFaultHandling" has dependency on Core assembly version 1.0.4621.0.
So every time TransientFaultHandling overwrites the Core with older version.
@Tom : Did you get the solution for this problem?
23. srpna 2012 23:40
I'm also facing this issue. I have both the Transient Fault Handling Application Block for Windows Azure and the Windows Azure Caching Preview installed using NuGet. I have the conflict warning occuring and when you click to create binding redirects in VS, it does not do anything.
I've manually added binding redirects in my web.config. However this does not remove the warning. Even with the binding redirects, the web application will occasionally fail with "Could not load file or assembly 'Microsoft.ApplicationServer.Caching.Core' or one of its dependencies." because I've specified to use 126.96.36.199 and it sometimes gets overwritten in the /bin with the 188.8.131.52 version and thus cannot find 184.108.40.206.
Anyone have a solution? I don't want to manually add references. I'd like to keep NuGet rollin' to keep my assemblies updated.
<dependentAssembly> <assemblyIdentity name="Microsoft.ApplicationServer.Caching.Core" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-220.127.116.11" newVersion="18.104.22.168" /> <bindingRedirect oldVersion="22.214.171.124" newVersion="126.96.36.199" /> </dependentAssembly>
10. září 2012 13:11
My point is that this is NOT possible.
Since the assemblies have the same exact name and the AppFabric Cache one is referenced by the Transient Fault Handling FX, it causes conflicts if you try to use them both.
I'm saying that the dependency from the CORE of this FX should NOT be referencing a specific CACHING implementation. I'm not using it for caching, thus I should not be incurring additional references to unused features. There needs to be an abstraction inserted in here to prevent this unnecessary dependency.