Skip to content

Commit 25b495e

Browse files
committed
Support non-test assets needing App layouts
- add `$(RequiresDelayedBuild)` and `@(RequiresDelayedBuild)` - use in all src/Grpc/HttpApi/ projects - store `@(RequiresDelayedBuild)` in RequiresDelayedBuildProjects.props - forward targets for `@(RequiresDelayedBuild)` in BuildAfterApp.csproj nits: - clean affected projects slightly - move `$(UseAspNetCoreSharedRuntime)` up to new Directory.Build.props
1 parent 575c1da commit 25b495e

File tree

18 files changed

+126
-55
lines changed

18 files changed

+126
-55
lines changed

Directory.Build.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,7 @@
236236
<Import Project="artifacts\bin\GenerateFiles\Directory.Build.props" Condition=" '$(MSBuildProjectName)' != 'GenerateFiles' " />
237237
<Import Project="eng\Dependencies.props" />
238238
<Import Project="eng\ProjectReferences.props" />
239+
<Import Project="eng\RequiresDelayedBuildProjects.props" />
239240
<Import Project="eng\SharedFramework.Local.props" />
240241
<Import Project="eng\SharedFramework.External.props" />
241242
<Import Project="eng\targets\Cpp.Common.props" Condition="'$(MSBuildProjectExtension)' == '.vcxproj'" />

eng/Build.props

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<!-- Exclude the websockets samples for now because they use classic .csproj, which is not yet supported in our build. -->
1717
<ProjectToExclude Include="$(RepoRoot)src\Middleware\WebSockets\samples\**\*.csproj" />
1818

19-
<!-- These projects are meant to be referenced only by tests. -->
19+
<!-- These projects are meant to be referenced only by tests or via BuildAfterApp.csproj. -->
2020
<ProjectToExclude
2121
Include="$(RepoRoot)src\**\testassets\**\*.*proj;
2222
$(RepoRoot)src\Grpc\HttpApi\**\*.csproj;"
@@ -189,6 +189,7 @@
189189
$(RepoRoot)src\ProjectTemplates\*\*.csproj;
190190
$(RepoRoot)src\submodules\spa-templates\src\*.csproj;
191191
$(RepoRoot)src\Extensions\**\*.csproj;
192+
$(RepoRoot)src\BuildAfterApp\*.csproj;
192193
"
193194
Exclude="
194195
@(ProjectToBuild);
@@ -228,7 +229,7 @@
228229
$(RepoRoot)src\HealthChecks\**\src\*.csproj;
229230
$(RepoRoot)src\Testing\**\src\*.csproj;
230231
$(RepoRoot)src\Extensions\**\src\*.csproj;
231-
$(RepoRoot)src\Grpc\HttpApi\src\**\*.csproj;
232+
$(RepoRoot)src\BuildAfterApp\*.csproj;
232233
"
233234
Exclude="
234235
@(ProjectToBuild);

eng/CodeGen.proj

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
<Project>
2-
32
<PropertyGroup>
43
<BuildManaged>true</BuildManaged>
54
<RepoRoot
@@ -17,13 +16,15 @@
1716
BuildInParallel="true"
1817
SkipNonexistentTargets="true"
1918
SkipNonexistentProjects="true">
20-
<Output TaskParameter="TargetOutputs" ItemName="_ProjectReferenceProvider" />
19+
<Output TaskParameter="TargetOutputs" ItemName="_ProvidesReferenceOrRequiresDelay" />
2120
</MSBuild>
2221

2322
<ItemGroup>
24-
<_SharedFrameworkAndPackageRef Include="@(_ProjectReferenceProvider->WithMetadataValue('IsAspNetCoreApp','true')->WithMetadataValue('IsPackable', 'true')->Distinct())" />
25-
<_SharedFrameworkRef Include="@(_ProjectReferenceProvider->WithMetadataValue('IsAspNetCoreApp','true')->WithMetadataValue('IsPackable', 'false')->Distinct())" />
26-
<_TrimmableProject Include="@(_ProjectReferenceProvider->WithMetadataValue('Trimmable', 'true')->Distinct())" />
23+
<_ProjectReferenceProvider Include="@(_ProvidesReferenceOrRequiresDelay->WithMetadataValue('IsProjectReferenceProvider','true')->Distinct())" />
24+
<_RequiresDelayedBuild Include="@(_ProvidesReferenceOrRequiresDelay->WithMetadataValue('RequiresDelayedBuild','true')->Distinct())" />
25+
<_SharedFrameworkAndPackageRef Include="@(_ProjectReferenceProvider->WithMetadataValue('IsAspNetCoreApp','true')->WithMetadataValue('IsPackable', 'true'))" />
26+
<_SharedFrameworkRef Include="@(_ProjectReferenceProvider->WithMetadataValue('IsAspNetCoreApp','true')->WithMetadataValue('IsPackable', 'false'))" />
27+
<_TrimmableProject Include="@(_ProjectReferenceProvider->WithMetadataValue('Trimmable', 'true'))" />
2728
</ItemGroup>
2829

2930
<PropertyGroup>
@@ -57,7 +58,7 @@
5758
5859
This file contains a complete list of the assemblies which are part of the shared framework.
5960
60-
This project is generated using the <IsAspNetCoreApp> and <IsPackable> properties from each .csproj in this repository.
61+
This file is generated using the <IsAspNetCoreApp/> and <IsPackable/> properties from each .csproj in this repository.
6162
-->
6263
<Project>
6364
<ItemGroup>
@@ -97,6 +98,30 @@
9798

9899
<WriteLinesToFile File="$(TrimmableProjectsList)" Lines="$(TrimmableProjectsListContent)" Overwrite="true" />
99100
<Message Importance="High" Text="Generated $(TrimmableProjectsList)" />
100-
</Target>
101101

102+
<PropertyGroup>
103+
<DelayedBuildFile>$(MSBuildThisFileDirectory)RequiresDelayedBuildProjects.props</DelayedBuildFile>
104+
<DelayedBuildContent><![CDATA[<!--
105+
This file is automatically generated. Run `./eng/scripts/GenerateProjectList.ps1` to update.
106+
107+
This file contains a list of projects that must be restored etc. after App.Ref and App.Runtime are fully built.
108+
109+
This file is generated using <RequiresDelayedBuild/> properties. Content may overlap ProjectReferences.csproj
110+
but that is not required (projects that are not project reference providers are also supported).
111+
-->
112+
<Project>
113+
<ItemGroup>
114+
@(_RequiresDelayedBuild->'<RequiresDelayedBuild Include="%24(RepoRoot)%(ProjectFileRelativePath)" />', '%0A ')
115+
</ItemGroup>
116+
</Project>
117+
]]></DelayedBuildContent>
118+
</PropertyGroup>
119+
120+
<!-- Workaround https://github.com/Microsoft/msbuild/issues/1024 -->
121+
<WriteLinesToFile Condition="'$(OS)' == 'Windows_NT'"
122+
File="$(DelayedBuildFile)" Lines="$([MSBuild]::Escape($(DelayedBuildContent)))" Overwrite="true" />
123+
<Exec Condition="'$(OS)' != 'Windows_NT'"
124+
Command="echo '$(DelayedBuildContent.Replace('\t','\\t'))' > $(DelayedBuildFile)" />
125+
<Message Importance="High" Text="Generated $(DelayedBuildFile)" />
126+
</Target>
102127
</Project>

eng/ProjectReferences.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,5 +159,6 @@
159159
<ProjectReferenceProvider Include="Microsoft.Extensions.Features" ProjectPath="$(RepoRoot)src\Extensions\Features\src\Microsoft.Extensions.Features.csproj" />
160160
<ProjectReferenceProvider Include="Microsoft.AspNetCore.Grpc.HttpApi" ProjectPath="$(RepoRoot)src\Grpc\HttpApi\src\Microsoft.AspNetCore.Grpc.HttpApi\Microsoft.AspNetCore.Grpc.HttpApi.csproj" />
161161
<ProjectReferenceProvider Include="Microsoft.AspNetCore.Grpc.Swagger" ProjectPath="$(RepoRoot)src\Grpc\HttpApi\src\Microsoft.AspNetCore.Grpc.Swagger\Microsoft.AspNetCore.Grpc.Swagger.csproj" />
162+
<ProjectReferenceProvider Include="BuildAfterApp" ProjectPath="$(RepoRoot)src\BuildAfterApp\BuildAfterApp.csproj" />
162163
</ItemGroup>
163164
</Project>
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<!--
2+
This file is automatically generated. Run `./eng/scripts/GenerateProjectList.ps1` to update.
3+
4+
This file contains a list of projects that must be restored etc. after App.Ref and App.Runtime are fully built.
5+
6+
This file is generated using <RequiresDelayedBuild/> properties. Content may overlap ProjectReferences.csproj
7+
but that is not required (projects that are not project reference providers are also supported).
8+
-->
9+
<Project>
10+
<ItemGroup>
11+
<RequiresDelayedBuild Include="$(RepoRoot)src\Grpc\HttpApi\perf\Microsoft.AspNetCore.Grpc.Microbenchmarks\Microsoft.AspNetCore.Grpc.Microbenchmarks.csproj" />
12+
<RequiresDelayedBuild Include="$(RepoRoot)src\Grpc\HttpApi\src\Microsoft.AspNetCore.Grpc.HttpApi\Microsoft.AspNetCore.Grpc.HttpApi.csproj" />
13+
<RequiresDelayedBuild Include="$(RepoRoot)src\Grpc\HttpApi\src\Microsoft.AspNetCore.Grpc.Swagger\Microsoft.AspNetCore.Grpc.Swagger.csproj" />
14+
<RequiresDelayedBuild Include="$(RepoRoot)src\Grpc\HttpApi\test\Microsoft.AspNetCore.Grpc.HttpApi.IntegrationTests\Microsoft.AspNetCore.Grpc.HttpApi.IntegrationTests.csproj" />
15+
<RequiresDelayedBuild Include="$(RepoRoot)src\Grpc\HttpApi\test\Microsoft.AspNetCore.Grpc.HttpApi.Tests\Microsoft.AspNetCore.Grpc.HttpApi.Tests.csproj" />
16+
<RequiresDelayedBuild Include="$(RepoRoot)src\Grpc\HttpApi\test\Microsoft.AspNetCore.Grpc.Swagger.Tests\Microsoft.AspNetCore.Grpc.Swagger.Tests.csproj" />
17+
<RequiresDelayedBuild Include="$(RepoRoot)src\Grpc\HttpApi\test\testassets\IntegrationTestsWebsite\IntegrationTestsWebsite.csproj" />
18+
<RequiresDelayedBuild Include="$(RepoRoot)src\Grpc\HttpApi\test\testassets\Sandbox\Sandbox.csproj" />
19+
</ItemGroup>
20+
</Project>

eng/SharedFramework.Local.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
44
This file contains a complete list of the assemblies which are part of the shared framework.
55
6-
This project is generated using the <IsAspNetCoreApp> and <IsPackable> properties from each .csproj in this repository.
6+
This file is generated using the <IsAspNetCoreApp/> and <IsPackable/> properties from each .csproj in this repository.
77
-->
88
<Project>
99
<ItemGroup>

eng/targets/ResolveReferences.targets

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -311,12 +311,18 @@
311311
<Warning Condition=" '$(IsProjectReferenceProvider)' == 'true' AND '$(AssemblyName)' != '$(MSBuildProjectName)' "
312312
Text="Project name &quot;$(MSBuildProjectName)&quot; is confusing; assembly is named &quot;$(AssemblyName)&quot;." />
313313

314-
<ItemGroup Condition=" '$(IsProjectReferenceProvider)' == 'true' ">
314+
<ItemGroup Condition=" '$(IsProjectReferenceProvider)' == 'true' OR '$(RequiresDelayedBuild)' == 'true' ">
315315
<ProvidesReference Include="$(AssemblyName)">
316316
<IsAspNetCoreApp>$([MSBuild]::ValueOrDefault($(IsAspNetCoreApp),'false'))</IsAspNetCoreApp>
317317
<IsPackable>$([MSBuild]::ValueOrDefault($(IsPackable),'false'))</IsPackable>
318318
<ProjectFileRelativePath>$([MSBuild]::MakeRelative($(RepoRoot), $(MSBuildProjectFullPath)))</ProjectFileRelativePath>
319319
<Trimmable>$([MSBuild]::ValueOrDefault($(Trimmable),'false'))</Trimmable>
320+
321+
<!-- True if the project may be referenced using a @(Reference) item. -->
322+
<IsProjectReferenceProvider>$([MSBuild]::ValueOrDefault($(IsProjectReferenceProvider),'false'))</IsProjectReferenceProvider>
323+
324+
<!-- True if project must be restored etc. after App.Ref and App.Runtime are fully built. -->
325+
<RequiresDelayedBuild>$([MSBuild]::ValueOrDefault($(RequiresDelayedBuild),'false'))</RequiresDelayedBuild>
320326
</ProvidesReference>
321327
</ItemGroup>
322328
</Target>
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<PropertyGroup>
3+
<TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework>
4+
</PropertyGroup>
5+
6+
<ItemGroup>
7+
<!-- Enforce build order. Need shared Fx before building the important projects. -->
8+
<ProjectReference Include="$(RepoRoot)\src\Framework\App.Ref\src\Microsoft.AspNetCore.App.Ref.csproj"
9+
Private="false"
10+
ReferenceOutputAssembly="false"
11+
SkipGetTargetFrameworkProperties="true" />
12+
</ItemGroup>
13+
14+
<Target Name="BuildDelayedProjects" BeforeTargets="Build" Returns="@(TargetPathWithTargetPlatformMoniker)">
15+
<MSBuild Projects="@(RequiresDelayedBuild)"
16+
BuildInParallel="$(BuildInParallel)"
17+
Properties="MSBuildRestoreSessionId=$([System.Guid]::NewGuid())"
18+
Targets="Restore" />
19+
<MSBuild Projects="@(RequiresDelayedBuild)" BuildInParallel="$(BuildInParallel)" Targets="Build">
20+
<Output TaskParameter="TargetOutputs" ItemName="TargetPathWithTargetPlatformMoniker" />
21+
</MSBuild>
22+
</Target>
23+
24+
<Target Name="CleanDelayedProjects" BeforeTargets="Clean">
25+
<MSBuild Projects="@(RequiresDelayedBuild)" BuildInParallel="$(BuildInParallel)" Targets="Clean" />
26+
</Target>
27+
28+
<Target Name="GetReferencesDelayedProjects" BeforeTargets="GetReferencesProvided" Returns="@(ProvidesReference)">
29+
<MSBuild Projects="@(RequiresDelayedBuild)" BuildInParallel="$(BuildInParallel)" Targets="GetReferencesProvided">
30+
<Output TaskParameter="TargetOutputs" ItemName="ProvidesReference" />
31+
</MSBuild>
32+
</Target>
33+
34+
<Target Name="PackDelayedProjects" BeforeTargets="Pack">
35+
<MSBuild Projects="@(RequiresDelayedBuild)" BuildInParallel="$(BuildInParallel)" Targets="Pack" />
36+
</Target>
37+
38+
<Target Name="PublishDelayedProjects" BeforeTargets="Publish">
39+
<MSBuild Projects="@(RequiresDelayedBuild)" BuildInParallel="$(BuildInParallel)" Targets="Publish" />
40+
</Target>
41+
42+
<Target Name="RunTestsDelayedProjects" BeforeTargets="RunTests">
43+
<MSBuild Projects="@(RequiresDelayedBuild)" BuildInParallel="$(BuildInParallel)" Targets="RunTests" />
44+
</Target>
45+
46+
<Target Name="VSTestDelayedProjects" BeforeTargets="VSTest">
47+
<MSBuild Projects="@(RequiresDelayedBuild)" BuildInParallel="$(BuildInParallel)" Targets="VSTest" />
48+
</Target>
49+
</Project>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<Project>
2+
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
3+
4+
<PropertyGroup>
5+
<!-- Projects must be restored after App.Ref and App.Runtime layouts are complete. -->
6+
<RequiresDelayedBuild>true</RequiresDelayedBuild>
7+
8+
<!-- Required because Swashbuckle.AspNetCore uses shared runtime -->
9+
<UseAspNetCoreSharedRuntime>true</UseAspNetCoreSharedRuntime>
10+
</PropertyGroup>
11+
</Project>

src/Grpc/HttpApi/perf/Microsoft.AspNetCore.Grpc.Microbenchmarks/Microsoft.AspNetCore.Grpc.Microbenchmarks.csproj

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
2-
32
<PropertyGroup>
43
<TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework>
54
<OutputType>Exe</OutputType>
6-
<UseAspNetCoreSharedRuntime>true</UseAspNetCoreSharedRuntime>
75
</PropertyGroup>
86

97
<ItemGroup>
@@ -15,5 +13,4 @@
1513
<Reference Include="Grpc.Tools" PrivateAssets="All" />
1614
<Reference Include="Microsoft.AspNetCore.Grpc.HttpApi" />
1715
</ItemGroup>
18-
1916
</Project>
Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,15 @@
11
<Project Sdk="Microsoft.NET.Sdk">
2-
32
<PropertyGroup>
43
<Description>HTTP API for gRPC ASP.NET Core</Description>
54
<PackageTags>gRPC RPC HTTP/2 REST</PackageTags>
65
<TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework>
7-
8-
<!-- Required because Grpc.AspNetCore.Server uses shared runtime -->
9-
<UseAspNetCoreSharedRuntime>true</UseAspNetCoreSharedRuntime>
106
</PropertyGroup>
117

128
<ItemGroup>
139
<InternalsVisibleTo Include="Microsoft.AspNetCore.Grpc.HttpApi.IntegrationTests" />
1410
<InternalsVisibleTo Include="Microsoft.AspNetCore.Grpc.HttpApi.Tests" />
1511
<InternalsVisibleTo Include="Microsoft.AspNetCore.Grpc.Microbenchmarks" />
16-
</ItemGroup>
1712

18-
<ItemGroup>
1913
<Compile Include="..\Shared\Server\BindMethodFinder.cs" Link="Internal\Shared\Server\BindMethodFinder.cs" />
2014
<Compile Include="..\Shared\Server\ClientStreamingServerMethodInvoker.cs" Link="Internal\Shared\Server\ClientStreamingServerMethodInvoker.cs" />
2115
<Compile Include="..\Shared\Server\DuplexStreamingServerMethodInvoker.cs" Link="Internal\Shared\Server\DuplexStreamingServerMethodInvoker.cs" />
@@ -28,15 +22,12 @@
2822
<Compile Include="..\Shared\ServiceDescriptorHelpers.cs" Link="Internal\Shared\ServiceDescriptorHelpers.cs" />
2923
<Compile Include="..\Shared\X509CertificateHelpers.cs" Link="Internal\Shared\X509CertificateHelpers.cs" />
3024
<Compile Include="$(SharedSourceRoot)ValueTaskExtensions\**\*.cs" LinkBase="Internal\Shared" />
31-
25+
3226
<Protobuf Include="Internal\Protos\errors.proto" Access="Internal" />
33-
</ItemGroup>
3427

35-
<ItemGroup>
3628
<Reference Include="Google.Api.CommonProtos" />
3729
<Reference Include="Google.Protobuf" />
3830
<Reference Include="Grpc.AspNetCore.Server" />
3931
<Reference Include="Grpc.Tools" PrivateAssets="All" />
4032
</ItemGroup>
41-
4233
</Project>
Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,16 @@
11
<Project Sdk="Microsoft.NET.Sdk">
2-
32
<PropertyGroup>
43
<Description>Swagger for gRPC ASP.NET Core</Description>
54
<PackageTags>gRPC RPC HTTP/2 REST Swagger OpenAPI</PackageTags>
65
<TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework>
7-
8-
<!-- Required because Swashbuckle.AspNetCore uses shared runtime -->
9-
<UseAspNetCoreSharedRuntime>true</UseAspNetCoreSharedRuntime>
106
</PropertyGroup>
117

128
<ItemGroup>
139
<InternalsVisibleTo Include="Microsoft.AspNetCore.Grpc.Swagger.Tests" />
14-
</ItemGroup>
1510

16-
<ItemGroup>
1711
<Compile Include="..\Shared\ServiceDescriptorHelpers.cs" Link="Internal\Shared\ServiceDescriptorHelpers.cs" />
1812

1913
<Reference Include="Microsoft.AspNetCore.Grpc.HttpApi" />
2014
<Reference Include="Swashbuckle.AspNetCore" />
2115
</ItemGroup>
22-
2316
</Project>
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,16 @@
11
<Project Sdk="Microsoft.NET.Sdk">
2-
32
<PropertyGroup>
43
<TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework>
5-
<UseAspNetCoreSharedRuntime>true</UseAspNetCoreSharedRuntime>
64
<Nullable>enable</Nullable>
75
</PropertyGroup>
86

97
<ItemGroup>
108
<Compile Include="..\Shared\TestGrpcServiceActivator.cs" Link="Infrastructure\TestGrpcServiceActivator.cs" />
11-
</ItemGroup>
129

13-
<ItemGroup>
1410
<ProjectReference Include="..\testassets\IntegrationTestsWebsite\IntegrationTestsWebsite.csproj" />
1511

1612
<Reference Include="Microsoft.AspNetCore.TestHost" />
1713
<Reference Include="Microsoft.AspNetCore.Grpc.HttpApi" />
1814
<Reference Include="Grpc.Tools" PrivateAssets="All" />
1915
</ItemGroup>
20-
2116
</Project>
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,14 @@
11
<Project Sdk="Microsoft.NET.Sdk">
2-
32
<PropertyGroup>
43
<TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework>
54
<Nullable>enable</Nullable>
6-
<UseAspNetCoreSharedRuntime>true</UseAspNetCoreSharedRuntime>
75
</PropertyGroup>
86

97
<ItemGroup>
108
<Protobuf Include="Proto\httpapi.proto" GrpcServices="Both" />
119
<Compile Include="..\Shared\TestGrpcServiceActivator.cs" Link="Infrastructure\TestGrpcServiceActivator.cs" />
12-
</ItemGroup>
1310

14-
<ItemGroup>
1511
<Reference Include="Microsoft.AspNetCore.Grpc.HttpApi" />
1612
<Reference Include="Grpc.Tools" PrivateAssets="All" />
1713
</ItemGroup>
18-
1914
</Project>
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,17 @@
11
<Project Sdk="Microsoft.NET.Sdk">
2-
32
<PropertyGroup>
43
<TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework>
54
<GenerateDocumentationFile>true</GenerateDocumentationFile>
65
<NoWarn>$(NoWarn);CS1591</NoWarn>
7-
<UseAspNetCoreSharedRuntime>true</UseAspNetCoreSharedRuntime>
86
</PropertyGroup>
97

108
<ItemGroup>
119
<Protobuf Include="Proto\counter.proto" GrpcServices="Both" />
1210
<Protobuf Include="Proto\xmldoc.proto" GrpcServices="Both" />
1311
<Protobuf Include="Proto\greeter.proto" GrpcServices="Both" />
1412
<Protobuf Include="Proto\messages.proto" GrpcServices="Both" />
15-
</ItemGroup>
1613

17-
<ItemGroup>
1814
<Reference Include="Microsoft.AspNetCore.Grpc.Swagger" />
1915
<Reference Include="Grpc.Tools" PrivateAssets="All" />
2016
</ItemGroup>
21-
2217
</Project>
Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,13 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
2-
32
<PropertyGroup>
43
<TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework>
54
<Nullable>enable</Nullable>
6-
<UseAspNetCoreSharedRuntime>true</UseAspNetCoreSharedRuntime>
75
</PropertyGroup>
86

97
<ItemGroup>
108
<Protobuf Include="Protos\greet.proto" GrpcServices="Server" />
11-
</ItemGroup>
129

13-
<ItemGroup>
1410
<Reference Include="Grpc.AspNetCore" />
1511
<Reference Include="Microsoft.AspNetCore.Grpc.HttpApi" />
1612
</ItemGroup>
17-
1813
</Project>
Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
2-
32
<PropertyGroup>
43
<TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework>
5-
<UseAspNetCoreSharedRuntime>true</UseAspNetCoreSharedRuntime>
64
</PropertyGroup>
75

86
<ItemGroup>
@@ -13,5 +11,4 @@
1311
<Reference Include="Microsoft.AspNetCore.Grpc.HttpApi" />
1412
<Reference Include="Microsoft.AspNetCore.Grpc.Swagger" />
1513
</ItemGroup>
16-
1714
</Project>

0 commit comments

Comments
 (0)