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

Project doesn't build #6

Closed
isaacabraham opened this issue Feb 8, 2018 · 4 comments · Fixed by #11
Closed

Project doesn't build #6

isaacabraham opened this issue Feb 8, 2018 · 4 comments · Fixed by #11
Assignees

Comments

@isaacabraham
Copy link
Contributor

On checking out master, doing a dotnet build gives the following errors:

error MSB4184: The expression "registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@InstallationFolder" cannot be evaluated.
warning NU1503: Skipping restore for project 'C:\Users\Isaac\Source\Repos\EFCore.FSharp\EFCore.FSharp\EFCore.FSharp.fsproj'. The project file may be invalid or missing targets required for restore. [C:\Users\Isaac\Source\Repos\EFCore.FSharp\EFCore.FSharp.sln]
error MSB4184: The expression "registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@InstallationFolder" cannot be evaluated.

Restore completed in 46.54 ms for C:\Users\Isaac\Source\Repos\EFCore.FSharp\EFCore.FSharp.Test\EFCore.FSharp.Test.fsproj.

error MSB4184: The expression "registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@InstallationFolder" cannot be evaluated.
error MSB4184: The expression "registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@InstallationFolder" cannot be evaluated.

How can I fix this?

@simon-reynolds
Copy link
Collaborator

simon-reynolds commented Feb 13, 2018

This appears to be caused by these lines in EFCore.FSharp.fsproj

<WindowsSdkDir Condition=" '$(WindowsSdkDir)' == '' ">$(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@InstallationFolder)</WindowsSdkDir>
<WindowsSDKVersion Condition=" '$(WindowsSDKVersion)' == '' ">$(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@ProductVersion)\</WindowsSDKVersion>
<SignToolCommand>"$(WindowsSdkDir)bin\$(WindowsSDKVersion)x86\signtool.exe" sign /t $(TimestampUrl) /q</SignToolCommand>

If you comment them out then it should build, although it will not be signed.
This issue also prevents dotnet build from running on any non-Windows platform

@bricelam We'll need to find a way to sign the package in a more cross-platform friendly manner
Or is it even necessary for the dll to be signed? I note that EntityFrameworkCore isn't so does this need to be?

@bricelam
Copy link
Member

bricelam commented Feb 13, 2018

Yes, I intend to address this. It think it will be fixed in the next version of the SDK. To workaround it, just remove those properties.

By default, it won't sign anyway. Those are just there for me so I can sign it before publishing a release to NuGet.org.

@bricelam bricelam self-assigned this Feb 13, 2018
@bricelam bricelam added this to the 2.1.0 milestone Feb 13, 2018
@isaacabraham
Copy link
Contributor Author

FYI, to get this to build in VS 2017 I also had to remove the line:

<AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile>

This wasn't needed to get it to build from the cmdline, though.

This was referenced Feb 27, 2018
@simon-reynolds
Copy link
Collaborator

This is preventing Appveyor and Travis builds

bricelam added a commit that referenced this issue Mar 5, 2018
bricelam added a commit that referenced this issue Mar 5, 2018
musheddev pushed a commit to musheddev/EFCore.FSharp that referenced this issue Apr 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging a pull request may close this issue.

3 participants