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 Version #53

Open
daddycocoaman opened this issue Mar 20, 2023 · 4 comments
Open

.NET Version #53

daddycocoaman opened this issue Mar 20, 2023 · 4 comments

Comments

@daddycocoaman
Copy link

Hi,

I was wondering if there's any chance SharpHoundCommon (and ultimately SharpHound) could target .NET Standard 2.0 instead of 4.6.2? It would allow the library and executable to be compiled with .NET Core in addition to Framework.

@rvazarkar
Copy link
Contributor

We've actually evaluated which .net version we use a few times, but it all generally boils down to one thing: whats the least common denominator amongst target windows versions that are likely to show up on pentests/redteams since you generally have to run code on a computer you don't own.

I've historically used the following page as a guide:
https://learn.microsoft.com/en-us/archive/blogs/astebner/mailbag-what-version-of-the-net-framework-is-included-in-what-version-of-the-os

With Win10 anniversary being a safe baseline version for most environments now, we defaulted to 4.6.2

@daddycocoaman
Copy link
Author

daddycocoaman commented Mar 20, 2023 via email

@irby
Copy link

irby commented Aug 1, 2023

What @daddycocoaman describes is correct. .NET Standard 2.0 is compatible with both .NET Framework >= 4.6.1 and .NET Core >= 2.0. Because SharpHoundCommon targets strictly .NET Framework, the package cannot be consumed by .NET Core projects.

Just a note, .NET Standard 2.1 does not support .NET Framework. Just as a heads up on the difference between 2.0 and 2.1.

@rvazarkar
Copy link
Contributor

The other issue I ran into when including netstandard2.0 is it massively balloons the size of the binary once all the DLLs get pulled in for netstandard. Since file size matters for remote execution, that would also be tricky

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