Skip to content

Compile .NetStandard 1.0 #3

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

Merged
merged 1 commit into from
Jun 20, 2017
Merged

Compile .NetStandard 1.0 #3

merged 1 commit into from
Jun 20, 2017

Conversation

hazzik
Copy link
Member

@hazzik hazzik commented May 15, 2017

  • Migrate to VS2017 project format
  • Multi-target to .NetStandard 1.0, .NET 4.0 & .NET 4.6.1

TODO

  • Run tests for .NET 4.0
  • Fix build scripts
  • Sort out versions

fixes #2

@hazzik
Copy link
Member Author

hazzik commented May 15, 2017

@fredericDelaporte @ngbrown can you please review?

Also, I need some help with resolving TODO items in the description

@@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26403.3
VisualStudioVersion = 15.0.26430.6
MinimumVisualStudioVersion = 10.0.40219.1
Copy link
Member

Choose a reason for hiding this comment

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

Maybe should be change to v15, since th csproj format has been migrated to the new 2017 one.

Copy link
Member Author

Choose a reason for hiding this comment

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

The problem that VS adds this back automatically

<TargetFrameworks>netstandard1.0;net40;net461</TargetFrameworks>
<Company>NHibernate community</Company>
<Summary>Additional implementations of System.Collections.Generic.ISet&lt;T&gt;.</Summary>
<Description>The System.Collections namespace in the .NET Framework provides a number of collection types that are extremely useful for manipulating data in memory. However, some specialized implementations of ISet are not available. Iesi.Collections 4.0 for .Net 4.0 contains the LinkedHashSet (preserves insertion order), the ReadOnlySet and the SynchronizedSet. The latter two wrap an actual set.</Description>
Copy link
Member

Choose a reason for hiding this comment

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

Maybe a bit nit-picky, but there is a tab instead of a space just before the implementations word.

<Summary>Additional implementations of System.Collections.Generic.ISet&lt;T&gt;.</Summary>
<Description>The System.Collections namespace in the .NET Framework provides a number of collection types that are extremely useful for manipulating data in memory. However, some specialized implementations of ISet are not available. Iesi.Collections 4.0 for .Net 4.0 contains the LinkedHashSet (preserves insertion order), the ReadOnlySet and the SynchronizedSet. The latter two wrap an actual set.</Description>
<Version>4.0.2</Version>
<AssemblyVersion>4.0.0.4000</AssemblyVersion>
Copy link
Member

Choose a reason for hiding this comment

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

We would probably have to change the version before releasing a new version.

Copy link
Member Author

Choose a reason for hiding this comment

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

No, this should stay static as there are no breaking changes

<PropertyGroup>
<TargetFrameworks>netstandard1.0;net40;net461</TargetFrameworks>
Copy link
Member

Choose a reason for hiding this comment

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

netstandard1.3 supports [Serializable] attribute, provided we add a conditional dependency.

  <ItemGroup Condition="'$(TargetFramework)' == 'netstandard1.3'">
    <PackageReference Include="System.Runtime.Serialization.Formatters">
      <Version>4.3.0</Version>
    </PackageReference>
  </ItemGroup>

If we intend to keep the serialization stuff with NHibernate core, maybe should add a netstandard1.3 target with that additional dependency.

Copy link
Member Author

Choose a reason for hiding this comment

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

Cool, I'll add netstandard 1.3 target

@fredericDelaporte
Copy link
Member

fredericDelaporte commented May 15, 2017

For the build, what about trying with dotnet build command instead of the old msbuild, a bit like this? Trying that with #5.

@fredericDelaporte
Copy link
Member

Does this means you achieved fixing building scripts, but for another CI provider?

@hazzik
Copy link
Member Author

hazzik commented May 16, 2017

Does this means you achieved fixing building scripts, but for another CI provider?

I think it still needs some work. I'll prefer to adjust the NAnt script to do the work, and run on TC.

@hazzik
Copy link
Member Author

hazzik commented May 17, 2017

Ok, now it's almost ready. There are some stuff about versions remaining in a nant files. We are not using that version strategy. Need to decide how we are going to deal with versions going forward. But, as for now, I think this is an issue for a separate discussion.

- Migrate to VS2017 project format
- Multi-target to .NetStandard 1.0, .NetStandard 1.3, .NET 4.0 & .NET 4.6.1

resolves #2
@hazzik hazzik merged commit 3e183dd into nhibernate:master Jun 20, 2017
@hazzik hazzik deleted the netstandard1_0 branch June 20, 2017 06:13
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.

Create .netstandard nuget package.
2 participants