Open DHancock opened 1 year ago
Depending on your usings, you might want to prefix with global::
. Since System.Windows
can clash.
The issue appears only in Visual Studio for me. When publish from command line everything working.
I do have VS 17.4 Preview 2 maybe that's cause some issues.
1>Task Parameter:
1> Analyzers=
1> C:\Program Files\dotnet\sdk\7.0.100-rc.1.22412.35\Sdks\Microsoft.NET.Sdk\targets\..\analyzers\Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll
1> C:\Program Files\dotnet\sdk\7.0.100-rc.1.22412.35\Sdks\Microsoft.NET.Sdk\targets\..\analyzers\Microsoft.CodeAnalysis.NetAnalyzers.dll
1> C:\Program Files\dotnet\sdk\7.0.100-rc.1.22412.35\Sdks\Microsoft.NET.Sdk\targets\..\analyzers\ILLink.CodeFixProvider.dll
1> C:\Program Files\dotnet\sdk\7.0.100-rc.1.22412.35\Sdks\Microsoft.NET.Sdk\targets\..\analyzers\ILLink.RoslynAnalyzer.dll
1> C:\Users\kant\.nuget\packages\microsoft.windows.cswin32\0.2.63-beta\analyzers\cs\MessagePack.Annotations.dll
1> C:\Users\kant\.nuget\packages\microsoft.windows.cswin32\0.2.63-beta\analyzers\cs\MessagePack.dll
1> C:\Users\kant\.nuget\packages\microsoft.windows.cswin32\0.2.63-beta\analyzers\cs\Microsoft.Bcl.AsyncInterfaces.dll
1> C:\Users\kant\.nuget\packages\microsoft.windows.cswin32\0.2.63-beta\analyzers\cs\Microsoft.Windows.CsWin32.dll
1> C:\Users\kant\.nuget\packages\microsoft.windows.cswin32\0.2.63-beta\analyzers\cs\Microsoft.Windows.SDK.Win32Docs.dll
1> C:\Users\kant\.nuget\packages\microsoft.windows.cswin32\0.2.63-beta\analyzers\cs\System.Buffers.dll
1> C:\Users\kant\.nuget\packages\microsoft.windows.cswin32\0.2.63-beta\analyzers\cs\System.Memory.dll
1> C:\Users\kant\.nuget\packages\microsoft.windows.cswin32\0.2.63-beta\analyzers\cs\System.Numerics.Vectors.dll
1> C:\Users\kant\.nuget\packages\microsoft.windows.cswin32\0.2.63-beta\analyzers\cs\System.Runtime.CompilerServices.Unsafe.dll
1> C:\Users\kant\.nuget\packages\microsoft.windows.cswin32\0.2.63-beta\analyzers\cs\System.Text.Encodings.Web.dll
1> C:\Users\kant\.nuget\packages\microsoft.windows.cswin32\0.2.63-beta\analyzers\cs\System.Text.Json.dll
1> C:\Users\kant\.nuget\packages\microsoft.windows.cswin32\0.2.63-beta\analyzers\cs\System.Threading.Tasks.Extensions.dll
1> C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.8\analyzers/dotnet/cs/System.Text.Json.SourceGeneration.dll
......
1>C:\Program Files\Microsoft Visual Studio\2022\Preview\MSBuild\Current\Bin\Roslyn\csc.exe ......
1>CompilerServer: server failed - server rejected the request due to analyzer / generator issues 'analyzer assembly 'C:\Users\kant\.nuget\packages\microsoft.windows.cswin32\0.2.63-beta\analyzers\cs\System.Runtime.CompilerServices.Unsafe.dll' has MVID 'd22a1fa6-8134-4c26-bb36-e67aceee55b8' but loaded assembly 'System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' has MVID 'bc84029b-1123-4266-bc37-9616e5f03999'' - 51dfe3bd-11ef-4bb5-b9e2-a0421ea3d6de
1>Microsoft (R) Visual C# Compiler version 4.4.0-2.22430.14 (2f760738)
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>
1>The type or namespace name 'Windows' could not be found (are you missing a using directive or an assembly reference?)
1>The type or namespace name 'Windows' could not be found (are you missing a using directive or an assembly reference?)
Notice CompilerServer: server failed - server rejected the request due to analyzer / generator issues
. Other observation, once I make build works in CLI, publish using VS starts working too.
And for the record, command which unlock publish in VS is dotnet publish /bl -r win-x64 -c Release /p:PublishSingleFile=true --no-self-contained
CsWin32 version: 0.2.63-beta
Problem description:
A minimal repro project builds and runs ok from with in Visual Studio or explorer. However when I create a folder publishing profile with "Produce single file" on, publishing fails. The build errors relate to the CsWin32 namespace using declaration.
Actual behavior:
VS build errors:
Minimal repro:
WpfApp1.zip
Additional Info:
If I move the CsWin32 code into a library project, publishing as single file works ok. It's not a practical work around in most cases.
WpfApp2.zip