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

Add a strong name to nuget package #35

Closed
zerg32 opened this issue Jun 22, 2015 · 25 comments
Closed

Add a strong name to nuget package #35

zerg32 opened this issue Jun 22, 2015 · 25 comments

Comments

@zerg32
Copy link

zerg32 commented Jun 22, 2015

Complied dll is missing a strong name so It is not possible to use it in strong named project.

Is it possible to add strong name during the build ?

@mganss
Copy link
Owner

mganss commented Jun 23, 2015

The CsQuery NuGet package which HtmlSanitizer references is not signed, so unfortunately signing HtmlSanitizer doesn't seem to be possible currently.

@tiesont
Copy link

tiesont commented Jun 23, 2015

There's also: http://strongnamingconsideredharmful.com/

@304NotModified
Copy link
Contributor

Nice link 👍

@304NotModified
Copy link
Contributor

Is this possible in v3?

@mganss
Copy link
Owner

mganss commented Nov 2, 2015

I think so, AngleSharp seems to be strong named, see AngleSharp/AngleSharp#115.

@304NotModified
Copy link
Contributor

OK. I recommend to strong name it, and only use the main version in the strong name. So the assembly version is for releases 3.0 - 3.x: 3.0.0 . (iif we practice semver in the library)

@304NotModified
Copy link
Contributor

Edit: I don't think semver is used? Can that be arranged in version 3?

@mganss
Copy link
Owner

mganss commented Nov 3, 2015

I very much like the automatic ".*" assembly versioning provided by AssemblyVersionAttribute. Not using this would mean we'd have to have some build script that does all kinds of versioning things (patch the assembly file version, set the NuGet version etc.).

@304NotModified
Copy link
Contributor

Well with * you get issues with strong naming, as described at http://strongnamingconsideredharmful.com/, and the version number is also not semver.

proposal:

  • set fixed AssemblyVersionAttribute to 3.0.0.0 - from code or appveyor.yml
  • before publish: change the assembly_file_version and assembly_informational_version (can be partly created by appveyor) - you can use variables. See https://github.com/NLog/NLog.Web/blob/master/appveyor.yml
  • publish from appveyor after successful build

@mganss
Copy link
Owner

mganss commented Nov 4, 2015

Done.

@Skybladev2
Copy link

@mganss I still do not see that NuGet package is signed, did you update it?

@mganss
Copy link
Owner

mganss commented Nov 11, 2015

Only the beta is strong named (currently 3.1.67).

@304NotModified
Copy link
Contributor

FYI strong looks good

image

@304NotModified
Copy link
Contributor

@mganss why is the version updated to 3.1.x ? It that a test?

@mganss
Copy link
Owner

mganss commented Nov 11, 2015

I had already published a NuGet package 3.0.5781.31354-beta before the move to SemVer.

@304NotModified
Copy link
Contributor

Mmmm

I think 3.1.67 is also not semver? I think it should be 3.1.0.67 or just 3.1.0. It's required to start with patch 0. Source: http://semver.org

@mganss
Copy link
Owner

mganss commented Nov 11, 2015

Where does it say that?

@304NotModified
Copy link
Contributor

Patch version MUST be reset to 0 when minor version is incremented.

7 on semver.org

@304NotModified
Copy link
Contributor

image

@mganss
Copy link
Owner

mganss commented Nov 11, 2015

I can't see how that helps with the goals of SemVer. As long as the version number is strictly increasing there shouldn't be a problem with specifiying dependencies.

@304NotModified
Copy link
Contributor

I can't see how that helps with the goals of SemVer. As long as the version number is strictly increasing there shouldn't be a problem with specifiying dependencies.

I don't really understand what you mean. The choose is relative easy, HtmlSanitizer uses SemVer, or it doesn't.

If HtmlSanitizer is using SemVer (from 3.0?), then 3.1.0.67 is not allowed as a version number after 3.0.x.

@mganss
Copy link
Owner

mganss commented Nov 12, 2015

OK, then it's "almost SemVer" 😉

@304NotModified
Copy link
Contributor

That doesn't exist IMO. It the same like saying that IE6 sticks to the HTML standards.

Why not unlisting the old packages and just create a 3.0 (-betaX) ?

@mganss
Copy link
Owner

mganss commented Nov 12, 2015

I think the problem is not so much starting with SemVer at a specific version but rather resetting the third component to 0 (in the future). I don't see a way to achieve this and still use the automatic versioning provided by AppVeyor. It seems SemVer wasn't designed with CI in mind.

Also, there isn't a single browser w/o bugs 😄

@mganss
Copy link
Owner

mganss commented Feb 1, 2016

3.1.76 is strong named.

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

5 participants