-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
Use Microsoft.NET.Sdk.WindowsDesktop for XAML projects #40234
Conversation
6ac6863
to
eda0157
Compare
@nguerrera Seems to work fine :) |
src/VisualStudio/Core/Def/Microsoft.VisualStudio.LanguageServices.csproj
Show resolved
Hide resolved
Nice. @vatsan-madhavan fyi |
@vatsan-madhavan What is GeneratedInternalTypeHelper? Seems to be sometimes generated sometimes not. |
|
@vatsan-madhavan It seems that this file is not always generated, which is a problem. We need the class to be either always generated or never. The reason is that the class is public and thus becomes part of public surface of the assembly. We have an analyzer that validates that public surface has not changed accidentally and it does so by checking against a baseline. If we include the type in public API baseline but the file is not always generated then we get build errors and vice versa. |
Depends on what one means by that. (a) If a project generates (b) If (c) If In general, I believe that it would be safe for public-API baseline analyzers to ignore |
@vatsan-madhavan I think this is case (a). When I build the project locally and watch the |
You might be seeing dotnet/msbuild#4948. Are you seeing this under any under conditions besides (a) build engine is msbuild/VS and (b) TFM is netfx? |
That is indeed correct. Even when those get imported, WindowsDesktop SDK's targets will supersede _as long as the project is a |
Yes, the same behavior (the file being generated and then its content erased) when building using The .NET Framework targets are only imported when using |
We'd be interested in seeing the logs for the |
@vatsan-madhavan Sent the log via email. |
Depending on the code/xaml being compiled, That doesn’t tell us why you might be seeing inconsistency across builds. For now my advice is to ignore I’ll look into your binlog again in Jan when I’m back from vacation to see if it has any clues. If you have a small-ish project that can reproduce the problem consistently it would be helpful in debugging. |
This is definitely not something I'd expect a build task to do - to update content of a file generated by other task.
I don't have a small project, but you can sync this PR branch and run
|
@vatsan-madhavan Ping. |
@tmat Would you mind opening an issue for this on https://github.com/dotnet/wpf so that we could look into this ? Unfortunately I haven't had the time to dig into this further since I was out sick for a few days I'm now trying to catch up on a bunch of work... |
365477b
to
2c56a28
Compare
Actually, there is a difference in behavior between 3.0.100 and 3.1.100. Seems like if we update to 3.1.100 it works. |
Only thing I can think of that explains it is a combination of dotnet/wpf#2004 and dotnet/wpf#2075. Glad to hear that this got better! 👍 😃 👍 |
4270e0e
to
b9b99eb
Compare
@jaredpar PTAL |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, let's merge this after our 16.5 snap to avoid any surprises there unless we need it first.
...ools/ExternalAccess/FSharpTest/Microsoft.CodeAnalysis.ExternalAccess.FSharp.UnitTests.csproj
Outdated
Show resolved
Hide resolved
...io/Core/SolutionExplorerShim/Microsoft.VisualStudio.LanguageServices.SolutionExplorer.csproj
Show resolved
Hide resolved
b9b99eb
to
302456b
Compare
* dotnet/master: (918 commits) Pure null test on unconstrained type (dotnet#41384) Fix file headers, bootsrap build issues. Make `elementLocations` accept an array of nullable locations in the public api. Learn from non-null tests on as operator (dotnet#41419) Use Microsoft.NET.Sdk.WindowsDesktop for XAML projects (dotnet#40234) Address feedback. Introduce `GetRequiredBinder`. Add missing `NotNullWhen` annotations. Annotate more of the binder Add version of zlib library to deterministic build inputs (dotnet#41385) [master] Update dependencies from dotnet/arcade (dotnet#41354) Simplify Simplify Do not simplify interpolation expressions on implicit receivers. Fix local function crash + add tests Substituted symbol equality (dotnet#41123) Fix test failures Rename from IncludeNonNullableReferenceTypeModifier to IncludeNotNullableReferenceTypeModifier (dotnet#41332) Set TEMP environment variable to $TempDir on CI machines (dotnet#41361) Document placeholders ...
Switches projects that depend on WPF to Microsoft.NET.Sdk.WindowsDesktop SDK.
Enables building Roslyn.sln x-plat via
dotnet build
.Note:
dotnet pack
will also work but not produce any VSIXes, as VSIXes can only be built using desktop msbuild/VS.