Add support for using a 3.0 SDK on VS 16.4.
- The 3.0 SDK adds RazorDeclaration files to the compile list if they exist. If a user builds in VS and then does a project level operation (adding a property group or item group to their project file) a design time build will trigger for unrelated reasons and declaration files will be included as part of the C# compilation resulting in duplicate member errors. This change ensures that even if declaration files are added we then remove them to ensure we avoid those declaration additions.
- One unfortunate aspect of this change is that declarations are added to the compile list for a brief moment resulting in errors and then are instantly removed in some situations. I say "some situations" because when this happens it is highly dependent on how / when the project system decides to perform a design time build.
aspnet/AspNetCoredotnet/aspnetcore-tooling#14646
\n\nCommit migrated from b64c9317c4
This commit is contained in:
parent
abef940002
commit
49f8ae28cf
|
|
@ -47,6 +47,17 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
<ProjectCapability Include="SupportsTypeScriptNuGet" />
|
<ProjectCapability Include="SupportsTypeScriptNuGet" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
In order to properly support Blazor partial classes we need to ensure that older SDKs don't
|
||||||
|
add declaration files to the compile list. We do all the compilation work in-memory in latest
|
||||||
|
VS.
|
||||||
|
-->
|
||||||
|
<Target Name="_RemoveRazorDeclartionsFromCompile" AfterTargets="RazorGenerateComponentDeclaration">
|
||||||
|
<ItemGroup Condition="'$(DesignTimeBuild)'=='true'">
|
||||||
|
<Compile Remove="@(_RazorComponentDeclaration)" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Target>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
WebSdk imports these capabilities for nesting in DotNetCoreWeb projects.
|
WebSdk imports these capabilities for nesting in DotNetCoreWeb projects.
|
||||||
Conditinally import these capabilities if the project isn't targeting the WebSdk.
|
Conditinally import these capabilities if the project isn't targeting the WebSdk.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue