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

Update Stable Versions to include 4.4.0 for WCF packages. #2097

Merged

Conversation

StephenBonikowsky
Copy link
Member

No description provided.

@StephenBonikowsky
Copy link
Member Author

@weshaggard I did a private run with this change in VSTS...
https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_build?_a=summary&buildId=881228

Getting...
Cannot harvest package 'System.Private.ServiceModel' version '4.4.0' because E:\A\_work\508\s\packages/System.Private.ServiceModel\4.4.0 does not exist. Harvesting is needed to redistribute assets and ensure compatiblity with the previous release. You can disable this by setting HarvestStablePackage=false. [E:\A\_work\508\s\src\System.Private.ServiceModel\pkg\System.Private.ServiceModel.pkgproj]

Investigating but I don't recall seeing this error in the past, keep in mind that release/2.0.0 for WCF is before the buildtoolsv2 update.

@StephenBonikowsky
Copy link
Member Author

Could this be as simple as the message actually implies? Since we have not yet build any WCF packages of version 4.4.0 there are none to find. Do I disable by setting HarvestStablePackage=false so we get a build and then remove it?

@weshaggard
Copy link
Member

You are hitting issue dotnet/buildtools#1545. I would suggest you update to a later build tools to get that fix. I would recommend the same version as corefx https://github.com/dotnet/corefx/blob/release/2.0.0/BuildToolsVersion.txt.

@weshaggard
Copy link
Member

@StephenBonikowsky why wouldn't you hit the same errors in CI?

@StephenBonikowsky
Copy link
Member Author

StephenBonikowsky commented Jul 24, 2017

I would suggest you update to a later build tools

The problem is that release/2.0.0 does not support buildtoolsv2, I don't think I can just update the version, a lot of other bad things will happen.

why wouldn't you hit the same errors in CI?

We don't have CI enabled for release/2.0.0.

@weshaggard
Copy link
Member

The problem is that release/2.0.0 does not support buildtoolsv2, I don't think I can just update the version, a lot of other bad things will happen.

Ok to fix this you should just set the HarvestStablePackageVersion in each of the pkgproj's. Similar to dotnet/corefx@d6210f5. Set the value to 4.3.0.

@StephenBonikowsky
Copy link
Member Author

StephenBonikowsky commented Jul 24, 2017

Trying it.

That solved the Harvesting issue.

@StephenBonikowsky
Copy link
Member Author

StephenBonikowsky commented Jul 25, 2017

@weshaggard
Made several additional changes, the current issue kicked-in when updating CoreFxBaseLinePackageVersion because it was pulling in a prerelease version of Microsoft.NETCore.Platforms.

Now I am getting...
System.IO.InvalidDataException: A stable release of a package should not have a prerelease dependency. Either modify the version spec of dependency "System.Runtime.WindowsRuntime (4.4.0-preview3-25519-03, )" or update the version field in the nuspec.
Build: https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_build?_a=summary&buildId=881973

As best I can tell this version of Microsoft.Private.PackageBaseline is pulling in a pre-release version of System.Runtime.WindowsRuntime.

Below is the section for System.Runtime.WindowsRuntime that I got from the packageIndex.json in 'Microsoft.Private.PackageBaseline.2.0.0-preview3-25519-03.nupkg'

    "System.Runtime.WindowsRuntime": {
      "StableVersions": [
        "4.0.0",
        "4.0.10",
        "4.0.11",
        "4.3.0"
      ],
      "BaselineVersion": "4.4.0",
      "InboxOn": {
        "portable46-win81+wp81+wpa81": "4.0.0.0",
        "portable46-win81+wp81": "4.0.0.0",
        "portable46-win81+wpa81": "4.0.10.0",
        "portable46-wp81+wpa81": "4.0.0.0",
        "uap10.1": "4.0.13.0",
        "win8": "4.0.0.0",
        "win81": "4.0.10.0",
        "wp8": "4.0.0.0",
        "wpa81": "4.0.10.0"
      },
      "AssemblyVersionInPackageVersion": {
        "4.0.0.0": "4.0.0",
        "4.0.10.0": "4.0.10",
        "4.0.11.0": "4.0.11",
        "4.0.12.0": "4.3.0",
        "4.0.13.0": "4.4.0"
      }
    },

@weshaggard
Copy link
Member

@ericstj can you help with a suggestion for the best way to handle this?

@ericstj
Copy link
Member

ericstj commented Jul 25, 2017

Update to ingest the stable build of corefx. That should have a Microsoft.Private.PackageBaseline with stable versions for your dependencies.

<Edit> looks like you are picking up the right version. We no longer build a package for this assembly and it isn't part of netcoreapp (it is part of UWP). Which assembly do you have that depends on some newer version of System.Runtime.WindowsRuntime? This may be catching a real issue with your implementation dependencies.

@ericstj
Copy link
Member

ericstj commented Jul 25, 2017

I see the problem. The baseline version in CoreFx is busted. That's actually an error in the baseline since we aren't building a 4.4.0 version package.
I think you can have WCF override this baseline version back to 4.3.0. We should fix-up the corefx baseline JSON file so that we remove any BaselineVersion entries for packages that we no longer build (reverting to the last built version of that package).

* Update to stable versions of WCF dependencies.
* Update WCF packages to not include a pre-release version.
Copy link
Member

@zhenlan zhenlan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks @StephenBonikowsky and @weshaggard/@ericstj for the help!

@StephenBonikowsky StephenBonikowsky merged commit d9c5ced into dotnet:release/2.0.0 Jul 25, 2017
@@ -3,6 +3,8 @@
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
<PreventImplementationReference>true</PreventImplementationReference>
<!-- workaround for https://github.com/dotnet/buildtools/issues/1529 -->
<HarvestVersion>4.3.0</HarvestVersion>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was fixed in latest buildtools. I would have expected you to be on that (corefx is)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nevermind, I see the comments about this in the main PR thread.

@ericstj
Copy link
Member

ericstj commented Jul 25, 2017

LGTM

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

Successfully merging this pull request may close these issues.

5 participants