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

.NET 4.6.1 support? #1270

Closed
vasily-kirichenko opened this issue Dec 1, 2015 · 15 comments
Closed

.NET 4.6.1 support? #1270

vasily-kirichenko opened this issue Dec 1, 2015 · 15 comments

Comments

@vasily-kirichenko
Copy link
Contributor

Now project files contain something like this:

<Choose>
    <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.6')">
      <ItemGroup>
        <Reference Include="FSharp.Core">
          <HintPath>..\..\packages\FSharp.Core\lib\net40\FSharp.Core.dll</HintPath>
          <Private>True</Private>
          <Paket>True</Paket>
        </Reference>
      </ItemGroup>
    </When>
  </Choose>
  <Choose>

If I set target framework version to 4.6.1 (VS 2015 Update 1), then all the references are disappear and nothing compiles.

@forki forki closed this as completed in 0f15da2 Dec 1, 2015
@vasily-kirichenko
Copy link
Contributor Author

2.30.0.0:

        </Reference>
       </ItemGroup>
     </When>
-    <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1')">
+    <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.6')">
       <ItemGroup>
         <Reference Include="AlphaFS">
           <HintPath>..\..\packages\AlphaFS\lib\net451\AlphaFS.dll</HintPath>

@forki
Copy link
Member

forki commented Dec 1, 2015

maybe there is still an issue with ordering, but integration tests show that 4.6.1 is emitted in many places. let me check again.

@forki
Copy link
Member

forki commented Dec 1, 2015

are you sure you used latest? c349139 shows the sample with AlphaFS and it creates the 4.6.1 tag.

What else can be wrong?

@vasily-kirichenko
Copy link
Contributor Author

I don't know. I added Or $(TargetFrameworkVersion) == 'v4.6.1' by hand. Everything compiles. Now I paket install and it removes Or $(TargetFrameworkVersion) == 'v4.6.1' from all the projects. And, of course, paket install --redirects does not add redirects for FSharp.Core any -> 4.4.0.0

@forki
Copy link
Member

forki commented Dec 1, 2015

@vasily-kirichenko does work for you on the integration test? do you have minimal repro?

@mrinaldi @isaacabraham any ideas about the redirects?

@forki forki reopened this Dec 1, 2015
@vasily-kirichenko
Copy link
Contributor Author

I revert <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> => <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>, then paket install and everything ok now, including redirects:

<dependentAssembly>
    <Paket>True</Paket>
    <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-999.999.999.999" newVersion="4.4.0.0" />
</dependentAssembly>

@forki
Copy link
Member

forki commented Dec 1, 2015

mhm. that's interesting.
I will try this in the test case.

forki added a commit that referenced this issue Dec 1, 2015
@forki
Copy link
Member

forki commented Dec 1, 2015

I'm not sure if the TargetFrameworkVersion change was related, yet.
But for me the binding redirects don't get updated as well. @mrinaldi if you find some time then could you please take a look at #1273? thx

@mrinaldi
Copy link
Contributor

mrinaldi commented Dec 1, 2015

#1273 doesn't add the redirects because it's not needed. (the test still fails if you change the project to target v4.6)

If you add to the project the Yaaf.FSharp.Scripting package, however, it generates the redirects for FSharp.Core.

@vasily-kirichenko do you have a small repro for the redirects?

@forki
Copy link
Member

forki commented Dec 1, 2015 via email

@mrinaldi
Copy link
Contributor

mrinaldi commented Dec 2, 2015

Explicitly stating a dependency should have redirects is any different than stating a global redirects?

I guess not. In that case, it'd behave like the global one and generate only the redirects for needed assemblies. Am I wrong here?

@forki
Copy link
Member

forki commented Dec 2, 2015

No you are right behavior should be the same. I just wonder how I can add
redirects now. Especially with fsharp.core ww often have conflicts with GAC
versions.
On Dec 2, 2015 01:13, "Marcio Rinaldi" notifications@github.com wrote:

Explicitly stating a dependency should have redirects is any different
than stating a global redirects?

I guess not. In that case, it'd behave like the global one and generate
only the redirects for needed assemblies. Am I wrong here?


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

@mrinaldi
Copy link
Contributor

mrinaldi commented Dec 2, 2015

I guess you can't since #1187.

What do you suggest?
Should we take the GAC assemblies into account, should we have a redirects: force? Maybe both?

@forki
Copy link
Member

forki commented Dec 2, 2015

The issue with GAC is that you can't know the GAC of the deployment
machine. So yes a force option would be awesome.
On Dec 2, 2015 18:12, "Marcio Rinaldi" notifications@github.com wrote:

I guess you can't since #1187
#1187.

What do you suggest?
Should we take the GAC assemblies into account, should we have a redirects:
force? Maybe both?


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

@vasily-kirichenko
Copy link
Contributor Author

👍

Relying on the machine's GAC where you run paket install is fragile.

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

3 participants