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

Microsoft.Z3.xml missing in release package #4578

Closed
Progress1 opened this issue Jul 19, 2020 · 12 comments
Closed

Microsoft.Z3.xml missing in release package #4578

Progress1 opened this issue Jul 19, 2020 · 12 comments

Comments

@Progress1
Copy link

Progress1 commented Jul 19, 2020

In past (e.g. 4.7.1) you include file Microsoft.Z3.xml file inside your release package. Now in current releases is this file missing. This file is important because it shows in Visual Studio help on commands.

NikolajBjorner added a commit that referenced this issue Jul 20, 2020
Signed-off-by: Nikolaj Bjorner <[email protected]>
NikolajBjorner added a commit that referenced this issue Jul 20, 2020
@NikolajBjorner
Copy link
Contributor

The .net bindings are now built using "dotnet build". These don't emit xml information, at least not by default.
The Microsoft.Z3.X64.nuget package that gets published on NuGet.org should be the go-to source for integrating z3 in a .net project.

@wintersteiger
Copy link
Contributor

@NikolajBjorner That .xml contains the function-level documentation so that Visual Studio (and similar) can show it in tooltips, etc. Whatever is now used to build the packages, should also produce that file. I think this has the right instructions for .NET core: https://docs.microsoft.com/en-us/dotnet/csharp/codedoc

@NikolajBjorner
Copy link
Contributor

Thanks for the pointer. It works. The next nightly will have xml included.

@tompazourek
Copy link

@NikolajBjorner I'm just checking the latest nightly (commit 0aac7e54a91de423088f0f321b9eef1bbac87118 v4.8.10) and the xml documentation file is still missing. Same goes for the stable v4.8.9.

image

This means that the VS IntelliSense is lacking as a result of that.

Could we please re-open this? It seems it's still an issue...

I'd also offer some help with this, but I checked the source code and don't see any issue there. What's strange to me is that the csproj in the source uses TFMs netstandard2.0 and net45 while the final NuGet actually has netstandard1.4. So maybe I'm just not looking at the right code...

NikolajBjorner added a commit that referenced this issue Jan 12, 2021
@NikolajBjorner
Copy link
Contributor

There exists some way to figure out how to include the right files.
Last time I fiddled with nuget, before Christmas, it took me 4 days to get code signing to build correctly. Some more savvy person could do it much faster. I pushed what could be a fix or something close to it, and running nightly to see if it gets to the right place.

@tompazourek
Copy link

@NikolajBjorner What about the TFM inconsistency? Isn't it an issue that you build it for netstandard2.0 in the csproj and then pack it via nuspec as netstandard1.4? I might be missing some part of the build process though...

@NikolajBjorner
Copy link
Contributor

The nuget package for the nightly and release build is created by a different script. The script is here:

<TargetFramework>netstandard1.4</TargetFramework>

The nightly build now includes the xml file in the nupkg bundle.

@tompazourek
Copy link

@NikolajBjorner Thank you very much for the quick XML doc fix, the nightly build seems ok, and this issue can be closed now. Any idea when we might expect a next stable release?

The issue regarding the TFM I'm raising is that you build the code telling the compiler to build for netstandard2.0, then you take the built DLLs, and pack them into a NuGet claiming they are intended for netstandard1.4. Do you see the problem I'm trying to point out?

@NikolajBjorner
Copy link
Contributor

But the script we use for the build is in z3/scripts/mk_util.py. The file https://github.com/Z3Prover/z3/blob/master/src/api/dotnet/Microsoft.Z3.csproj.in#L52
is not used for the release

@NikolajBjorner
Copy link
Contributor

I plan to make an inaugural release by middle of next week.

@tompazourek
Copy link

@NikolajBjorner I see, thank you for the clarification. Looking forward to the release, lot of great improvements in this one 🙂

@NikolajBjorner
Copy link
Contributor

this was fixed

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

4 participants