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

error MSB4236 (The SDK 'Elskom.Sdk' specified could not be found) #194

Open
HumanKR opened this issue Aug 25, 2022 · 19 comments
Open

error MSB4236 (The SDK 'Elskom.Sdk' specified could not be found) #194

HumanKR opened this issue Aug 25, 2022 · 19 comments

Comments

@HumanKR
Copy link

HumanKR commented Aug 25, 2022

Describe the bug
I cant find it actually because i'm not c# coder but I tried my best

To Reproduce
Steps to reproduce the behavior:

  1. run git clone https://github.com/Elskom/Els_kom_new.git in "C:"
  2. run dotnet build --configuration Release --ignore-failed-sources
  3. build failed (see that screenshot)
  4. founded seems like solution in https://github.com/Elskom/Els_kom_new/issues/190#issuecomment-1000549324
  5. run dotnet tool restore
  6. run dotnet elskom-check install
  7. run dotnet build -c Release
  8. still build failed with same problem

Expected behavior
build successfully with cmd or visual studio community 2022

Screenshots
If applicable, add screenshots to help explain your problem.
image

image

image

image

Desktop (please complete the following information):

  • OS: windows
  • OS Arch: x64
  • OS Label Version: 11 (If i need windows10, i can use it)
  • OS Edition: home (but windows10 is pro)
  • OS Build: 22000.856 (but windows10 is 19044.1889)
  • Version: 21H2 (windows10 also same 21H2)

Additional context
I finding someone have a same problem in issues and discussions but i can't find it
i checked PATH already and Elskom.Sdk seems like installed fine in C:\Program Files\dotnet\packs\Elskom.Sdk
I can't understand why cmd still not find Elskom.Sdk please help ;-;

@AraHaan
Copy link
Contributor

AraHaan commented Sep 1, 2022

That is because recently the .NET SDK became broken recently where it cannot find the one installed under dotnet/packs for some unknown reason.

I think I might have to instead republish it under github packages, however the cli would not be able to support that I been looking for a way to bundle the sdk itself into the runtime installer (with the templates as well).

Also if you want, you could help localize the code if you feel up to it, I lack people who can localize to KR.

@HumanKR
Copy link
Author

HumanKR commented Sep 3, 2022

That is because recently the .NET SDK became broken recently where it cannot find the one installed under dotnet/packs for some unknown reason.

I think I might have to instead republish it under github packages, however the cli would not be able to support that I been looking for a way to bundle the sdk itself into the runtime installer (with the templates as well).

Also if you want, you could help localize the code if you feel up to it, I lack people who can localize to KR.

awwww dotnet broken? kinda sad
i was figure out way about decompile koms for my TTS project.
(export epic story voices... yea I think ai will learning nicely except 'elsword' and 'add' lol)
but now its going harder what I was expected. QAQ

and about the a localize the code
sounds great! but I can only translate the kind of texts like a... GUI text?
it means i can only translate but i can't write the code about that.
because i'm not have a experience about coding c# or VB.net things...
but if you don't mind, I can help about that!

@AraHaan
Copy link
Contributor

AraHaan commented Sep 3, 2022

Alright, I was planning to go into the codebase and extract worthy strings to resx anyway.

To localize then you would have to change the resx files.

@HumanKR
Copy link
Author

HumanKR commented Sep 3, 2022

All right, I think I can do that much!
Call me here when you're ready.

discord: Human#4419 (fast response)
email: [email protected] (maybe slow than discord...?)

@HumanKR HumanKR closed this as completed Sep 3, 2022
@AraHaan AraHaan reopened this Sep 3, 2022
@AraHaan
Copy link
Contributor

AraHaan commented Sep 3, 2022

Leaving this open until the .NET SDK gets fixed.

@AraHaan
Copy link
Contributor

AraHaan commented Sep 22, 2022

Looks like the only way to fix this is to push the sdk to the github packages feed and require one to run the exe installers for the runtime. Also to resolve the sdk one would then be required to add the github packages feed using dotnet nuget add source ... and use their username and an github PAT.

@HumanKR
Copy link
Author

HumanKR commented Sep 24, 2022

All right sorry but, I don't know how to do everything but push "sdk".
First, I have never seen "exe" in the "runtime" folder.
If I have to build it myself, it is impossible because it have a same problem about Elskom.Sdk.
I've never used a command related to "nuget add source ...", but I've looked into it and found that it can be added via the local path.
However, I didn't know which path to put in, so I just added all the routes related to elskom.sdk, but it still doesn't work.
Maybe it's because I didn't use the "username" and "github pat," but this part is even more confusing.
Shamefully, I've never heard of pat in the github system before.
Even if I search it, I don't know where this part use it.
If it's related to "github packages feed", maybe it's because I don't know how to add to the "nuget add source..." command via github things.
Can you give me any help or hint?

@AraHaan
Copy link
Contributor

AraHaan commented Sep 24, 2022

Currently the runtime is not meant to be built manually (but could be however), the Sdk I feel should be pushed to github packages where github requires a personal access token in order to read the packages feed (with the read:packages and write:packages scopes). It is odd that it requires the write packages scope even when you are just needing to read packages from an organization such as this one (even if you are not a member of it). I also complained to github support about that as well.

@AraHaan
Copy link
Contributor

AraHaan commented Sep 25, 2022

Alternatively, the tool could instead, download the Elskom.Sdk nuget package and store it into its own nuget package feed (a folder feed) and have it silently add the feed if it does not see it as one of nuget's feeds.

A benefit to that is then you would not need to figure out how to create a personal access token for github packages.

@HumanKR
Copy link
Author

HumanKR commented Sep 25, 2022

ok I finally fixed... with another way.
I just decided to install visual studio 2022.
I only used cmd because VS is too heavy and my hdd doesn't have a enough of storage for install new package things.
but now i have a enough of storage so i just downloaded about dotnet packages recommend from vs installer.

there is also have a sdk problem but build error message was written about where is sdk folder missing.
so I copy and paste "elskom.sdk"s that location and it works.... yea what a magic.

actually, I'm flustered because it was resolved more easily than I thought but there is other errors.
i already fixed but i will write anyway for someone following this in future.
first i have a terraFX probelm. becuase I wans't installed about that.
so i just go to terraFX github and installed using dotnet add PROJECT package TerraFX --version 0.1.0-alpha.2936124376.
and there is other problem..... um.. new problem yea.

build was complete but
image
what
um... no way.
if i wasn't install .net, it is impossible to build.
image
this is the list about installed dotnet sdk
did i missed something..?

@AraHaan
Copy link
Contributor

AraHaan commented Sep 25, 2022

Did you run the exe installers in the Elskom/runtime repository under the latest release?

@HumanKR
Copy link
Author

HumanKR commented Sep 26, 2022

Elskom.Sdk.App, Elskom.Sdk.App.Ref is runtime right?
actually... no it is not a latest release. is '6.0.0-preview.63.1'.
i wasn't realize it was updated.
well, i used dotnet add package Elskom.Sdk.App --version 6.0.0-preview.67.1 and..
image

the errors means:
NU1701: The package Elskom.Sdk.App 6.0.0-preview.67.1 has a package type DotnetPlatform that is incompatible with this project.
Package Elskom.Sdk.App is incompatible with 'all' frameworks in Elskom.csproj project

building runtime is possible now but i don't know what should i do with this.
after finish building, there are so many files and folders.
i know should i have to overwrite some dlls like BlowFish or Elskom.Common things but i don't know what should i use it.
that files can find in ref, pkg, and runtime folder at bin folder.
there is also have ref, runtime folder inside of pkg folder.
this is reason why i'm still getting lost. ;-;

...wait the exe installer means this?
if is right, sadly there is also have a error
image
yea the NETSDK1136 problem.
it's an error asking for code correction, but it's a suspicious error that seems to have other reasons.

@AraHaan
Copy link
Contributor

AraHaan commented Sep 26, 2022

those are not meant to be consumed through nuget, those are meant to be located in $DOTNET_ROOT/shared/Elskom.Sdk.App and $DOTNET_ROOT/packs/Elskom.Sdk.App.Ref. And yes the exe installer means that tool https://www.nuget.org/packages/Elskom.Net.Check for the steps.

Also those are marked with
image
so they are meant to be used via FrameworkReference.

@AraHaan
Copy link
Contributor

AraHaan commented Sep 26, 2022

I will work on fixing the installer where it will not try installing the Sdk and instead try to resolve the Sdk itself through nuget when you go to restore projects that use it in the meantime.

@AraHaan
Copy link
Contributor

AraHaan commented Sep 26, 2022

A new Sdk release should be out soon, I decided to stabilize it's version because the variable where it sets the runtime version is generated by the installer dotnet tool, I will also look into updating the tool to not download the sdk package as well.

Note: Elskom.Sdk v1.0.0 will be published to nuget.org so no personal access token will be required for that.

As for the runtime, the Any rid nuget packages will be removed soon for rid specific ones because I realize the error of how I set them up before, so there will be additional edits to the runtime itself.

@AraHaan
Copy link
Contributor

AraHaan commented Sep 26, 2022

Completed: Elskom/Sdk#259
Completed: Elskom/Sdk#261
Completed: Elskom/runtime@1154894
Completed: Elskom/runtime#16
Completed: Elskom/Sdk#264

@AraHaan
Copy link
Contributor

AraHaan commented Sep 27, 2022

For the installer, I will look into having the installer extract the runtimes based on the runtime that is used to run the installer (e.g. for x64 it will install the x64 runtime in the x64 dotnet and install the x86 runtime in the x86 dotnet if x86 dotnet sdk is also installed, for x86 pc's it will only install the x86 runtime, as for arm64 I am not sure what will happen as I do not own any devices for windows on arm64). Either that or have it download the exe installers and run them silently.

image

Actually, I think silent installs are a good option for the installer tool to use that way it does not require any special work (or logic).

@AraHaan
Copy link
Contributor

AraHaan commented Sep 29, 2022

@HumanKR https://github.com/Elskom/runtime/releases a new thing you can use to manually install the runtime, the tool will look also compare the one installed via the exe installers there and if it matches the version that it looks for it should prefer that over the nuget packages (which the old runtime nuget package was unlisted so it might break the installer some atm).

@AraHaan
Copy link
Contributor

AraHaan commented Oct 6, 2022

I have made the SDK automatically detect the version of the runtime that is installed, so then you are free to update it or whatever and the SDK will automatically use the latest version installed.

As for the .NET tool that installs the workload, I can now patch that soon to only install the runtime, reference pack, and the templates in a cross-platform way.

Note: The runtime can now also be installed from the installers from here as well: https://github.com/Elskom/runtime/releases

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

2 participants