Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fleece should not include LinqBridge for a .NET 4.5 project #307

Closed
ctaggart opened this issue Oct 28, 2014 · 13 comments
Closed

Fleece should not include LinqBridge for a .NET 4.5 project #307

ctaggart opened this issue Oct 28, 2014 · 13 comments

Comments

@ctaggart
Copy link
Contributor

When installing Fleece in a .NET 4.5 project, LinqBridge should not show up as dependency. This is related to #140. //cc @mausch

The test project to reproduce is here:
https://github.com/ctaggart/Paket09x/commits/master

image

https://www.nuget.org/packages/ReadOnlyCollectionExtensions/

image

With it added as a dependency, you get warnings like this:

image

because it includes implementations of System.Action and System.Func

image

@forki
Copy link
Member

forki commented Oct 29, 2014

/cc @cdrnet @agross

I think this one might be solvable. The assumption is: we only reference one version of LinqBridge.
We can't have LinqBridge 1 for framework A and LinqBridge 1.1 for framework B.

Then we need to do the following:

  • add framework restriction to lock file
  • parse framework restriction from lock file
  • use this info in install model

screaming

@agross
Copy link
Contributor

agross commented Oct 29, 2014

@forki As far as I understand it, that's reasonable.

@ctaggart
Copy link
Contributor Author

I upgraded us to 0.14.3 and this is still an issue.

@forki
Copy link
Member

forki commented Nov 19, 2014

sorry, but we're making only very slow progress here.

But the resolver and the lock file understands this now.

==> The last part is extending the install model.

@forki forki closed this as completed in 82865ab Nov 19, 2014
@forki
Copy link
Member

forki commented Nov 19, 2014

It seems 0.15 is working for https://github.com/ctaggart/Paket09x/commits/master

@ctaggart
Copy link
Contributor Author

Yes, LinqBridge is gone. However, FSharp.Data.SqlClient is too. I'll create another ticket. I updated the repo.

@mausch
Copy link
Member

mausch commented Jan 29, 2015

I'm just getting started with Paket and having this problem in version 0.25.1.0. The problematic package for me is https://www.nuget.org/packages/Cassette/ , it's choking on the Iesi.Collections dependency even though it's a .NET 4.5 project.

I only ran paket convert-from-nuget, then fixed a couple minor issues with incorrectly named packages, then paket install, do I need to do anything else?

@ctaggart have you opened another issue about this? I can't seem to find it.

@forki
Copy link
Member

forki commented Jan 29, 2015

What's the concrete error?
What's your dependencies file?
On Jan 29, 2015 1:12 PM, "Mauricio Scheffer" notifications@github.com
wrote:

I'm just getting started with Paket and having this problem in version
0.25.1.0. The problematic package for me is
https://www.nuget.org/packages/Cassette/ , it's choking on the
Iesi.Collections dependency even though it's a .NET 4.5 project.

I only ran paket convert-from-nuget, then fixed a couple minor issues
with incorrectly named packages, then paket install, do I need to do
anything else?

@ctaggart https://github.com/ctaggart have you opened another issue
about this? I can't seem to find it.


Reply to this email directly or view it on GitHub
#307 (comment).

@mausch
Copy link
Member

mausch commented Jan 29, 2015

The exact error is (when running paket install):

  Can't resolve:
    - Iesi.Collections <  4.0
       - from Cassette 2.4.2
 Please try to relax some conditions.

This project has a huge list of dependencies, but the problem seems to be that NHibernate 4.0.2.4000 requires Iesi.Collections (≥ 4.0 && < 5.0) and this conflicts with Cassette's requirement of Iesi.Collections (< 4.0) (which only applies to .NET 3.5 and therefore should be ignored for this particular project).

Let me know if that's enough or you want a more precise repro.

Cheers

@forki
Copy link
Member

forki commented Jan 29, 2015

I now understand the issue. I'll try to come up with a solution.

@forki
Copy link
Member

forki commented Jan 29, 2015

as a workaround add

nuget Iesi.Collections == 4.0.1.4000

to your dependencies file. This will force the version.

@mausch
Copy link
Member

mausch commented Jan 30, 2015

Thanks, that workaround did the trick. I just have to be careful with paket simplify until this is fixed, as it removes that versioning constraint from the dependencies file (or is that a separate issue?)

@forki
Copy link
Member

forki commented Jan 30, 2015

Yes. I'm working on a better solution. Internally we already have
everything to say: just don't care about net35. But this is not part of the
dependencies file yet
On Jan 30, 2015 3:27 PM, "Mauricio Scheffer" notifications@github.com
wrote:

Thanks, that workaround did the trick. I just have to be careful with paket
simplify until this is fixed, as it removes that versioning constraint
from the dependencies file (or is that a separate issue?)


Reply to this email directly or view it on GitHub
#307 (comment).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants