MicrosoftEdge / WebView2Feedback

Feedback and discussions about Microsoft Edge WebView2
https://aka.ms/webview2
453 stars 55 forks source link

[Problem/Bug]: NuGet package Microsoft.Web.WebView2 build files do not work in some MsBuild scenarios #4923

Open joergrosenkranz opened 1 week ago

joergrosenkranz commented 1 week ago

What happened?

Building a CSPROJ with MSBuild does not work when the targets restore and Build are called in the same MSBuild run.

The error was introduced with the new non-standard NuGet structure.

Importance

Important. My app's user experience is significantly compromised.

Runtime Channel

Stable release (WebView2 Runtime)

Runtime Version

No response

SDK Version

1.0.2849.39

Framework

Winforms

Operating System

Windows 10

OS Version

No response

Repro steps

Create a sample project:

dotnet new classlib -f net8.0 -o WebView2Test
cd .\WebView2Test\
dotnet add package Microsoft.Web.WebView2

Add a Test.cs file:

namespace WebView2Test;

using Microsoft.Web.WebView2.Core;

public class Test
{
    public static async Task Initialize()
    {
        await CoreWebView2Environment.CreateAsync();
    }
}

Build using this command:

msbuild /T:"restore;Build" .\WebView2Test.csproj

Result (sorry, machine has German culture):

error CS0234: Der Typ- oder Namespacename "Web" ist im Namespace "Microsoft" nicht vorhanden. (Möglicherweise fehlt ein Assemblyverweis.)

Repros in Edge Browser

No, issue does not reproduce in the corresponding Edge version

Regression

Regression in newer SDK

Last working version (if regression)

1.0.2592.51

oggy22 commented 1 week ago

Thank you for reporting. Can you please try with the latest prerelease https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.2895-prerelease. The issue might have been fixed.

joergrosenkranz commented 1 week ago

No, the bug is not fixed with the preview version.

oggy22 commented 1 week ago

Ok, thanks for trying. Can you please provide a min repro so we can try to repro your problem? Ideally it should be a min repro which means it all unnecessary pieces would be removed.

joergrosenkranz commented 1 week ago

The minimal repro is already in the repro steps of the bug report.

ambikakunnath commented 4 days ago

I'm unable to repro the issue with the repro steps mentioned. Can you please check if there is anything else needed for the repro? Can you confirm if the project file has the WebView2 package dependency included: image

joergrosenkranz commented 4 days ago

If the PackageReference is not there, you've missed this command in the repro steps:

dotnet add package Microsoft.Web.WebView2

Here you can see the complete project: WebView2Test.zip

Repro is simple: