diff --git a/sdk.sln b/sdk.sln index 8107e6e40cfe..991db9a6ad01 100644 --- a/sdk.sln +++ b/sdk.sln @@ -210,9 +210,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PublishProfiles", "PublishP src\WebSdk\Publish\Targets\PublishProfiles\Default.pubxml = src\WebSdk\Publish\Targets\PublishProfiles\Default.pubxml src\WebSdk\Publish\Targets\PublishProfiles\DefaultMSDeploy.pubxml = src\WebSdk\Publish\Targets\PublishProfiles\DefaultMSDeploy.pubxml src\WebSdk\Publish\Targets\PublishProfiles\DefaultMSDeployPackage.pubxml = src\WebSdk\Publish\Targets\PublishProfiles\DefaultMSDeployPackage.pubxml - src\WebSdk\Publish\Targets\PublishProfiles\DefaultZipDeploy.pubxml = src\WebSdk\Publish\Targets\PublishProfiles\DefaultZipDeploy.pubxml src\WebSdk\Publish\Targets\PublishProfiles\DefaultOneDeploy.pubxml = src\WebSdk\Publish\Targets\PublishProfiles\DefaultOneDeploy.pubxml src\WebSdk\Publish\Targets\PublishProfiles\DefaultWebJobOneDeploy.pubxml = src\WebSdk\Publish\Targets\PublishProfiles\DefaultWebJobOneDeploy.pubxml + src\WebSdk\Publish\Targets\PublishProfiles\DefaultZipDeploy.pubxml = src\WebSdk\Publish\Targets\PublishProfiles\DefaultZipDeploy.pubxml EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PublishTargets", "PublishTargets", "{40E6E4B1-286B-4542-B814-2A3DA29510D1}" @@ -222,8 +222,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PublishTargets", "PublishTa src\WebSdk\Publish\Targets\PublishTargets\Microsoft.NET.Sdk.Publish.Kudu.targets = src\WebSdk\Publish\Targets\PublishTargets\Microsoft.NET.Sdk.Publish.Kudu.targets src\WebSdk\Publish\Targets\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets = src\WebSdk\Publish\Targets\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets src\WebSdk\Publish\Targets\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeployPackage.targets = src\WebSdk\Publish\Targets\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeployPackage.targets - src\WebSdk\Publish\Targets\PublishTargets\Microsoft.NET.Sdk.Publish.ZipDeploy.targets = src\WebSdk\Publish\Targets\PublishTargets\Microsoft.NET.Sdk.Publish.ZipDeploy.targets src\WebSdk\Publish\Targets\PublishTargets\Microsoft.NET.Sdk.Publish.OneDeploy.targets = src\WebSdk\Publish\Targets\PublishTargets\Microsoft.NET.Sdk.Publish.OneDeploy.targets + src\WebSdk\Publish\Targets\PublishTargets\Microsoft.NET.Sdk.Publish.ZipDeploy.targets = src\WebSdk\Publish\Targets\PublishTargets\Microsoft.NET.Sdk.Publish.ZipDeploy.targets EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TransformTargets", "TransformTargets", "{DFA91CC3-D6E4-45B7-AF6F-4385288886E4}" @@ -512,6 +512,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Net.Sdk.Compilers EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.WebTools.AspireService.Tests", "test\Microsoft.WebTools.AspireService.Tests\Microsoft.WebTools.AspireService.Tests.csproj", "{1F0B4B3C-DC88-4740-B04F-1707102E9930}" EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Microsoft.DotNet.HotReload.Agent", "src\BuiltInTools\HotReloadAgent\Microsoft.DotNet.HotReload.Agent.shproj", "{418B10BD-CA42-49F3-8F4A-D8CC90C8A17D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.DotNet.HotReload.Agent.Package", "src\BuiltInTools\HotReloadAgent.Package\Microsoft.DotNet.HotReload.Agent.Package.csproj", "{2FF79F82-60C1-349A-4726-7783D5A6D5DF}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -974,6 +978,10 @@ Global {1F0B4B3C-DC88-4740-B04F-1707102E9930}.Debug|Any CPU.Build.0 = Debug|Any CPU {1F0B4B3C-DC88-4740-B04F-1707102E9930}.Release|Any CPU.ActiveCfg = Release|Any CPU {1F0B4B3C-DC88-4740-B04F-1707102E9930}.Release|Any CPU.Build.0 = Release|Any CPU + {2FF79F82-60C1-349A-4726-7783D5A6D5DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2FF79F82-60C1-349A-4726-7783D5A6D5DF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2FF79F82-60C1-349A-4726-7783D5A6D5DF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2FF79F82-60C1-349A-4726-7783D5A6D5DF}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1153,6 +1161,8 @@ Global {94C8526E-DCC2-442F-9868-3DD0BA2688BE} = {71A9F549-0EB6-41F9-BC16-4A6C5007FC91} {FA579C03-2EB4-4D47-88EE-BFF339E96FAF} = {22AB674F-ED91-4FBC-BFEE-8A1E82F9F05E} {1F0B4B3C-DC88-4740-B04F-1707102E9930} = {580D1AE7-AA8F-4912-8B76-105594E00B3B} + {418B10BD-CA42-49F3-8F4A-D8CC90C8A17D} = {71A9F549-0EB6-41F9-BC16-4A6C5007FC91} + {2FF79F82-60C1-349A-4726-7783D5A6D5DF} = {71A9F549-0EB6-41F9-BC16-4A6C5007FC91} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {FB8F26CE-4DE6-433F-B32A-79183020BBD6} @@ -1160,7 +1170,10 @@ Global GlobalSection(SharedMSBuildProjectFiles) = preSolution src\Compatibility\ApiCompat\Microsoft.DotNet.ApiCompat.Shared\Microsoft.DotNet.ApiCompat.Shared.projitems*{03c5a84a-982b-4f38-ac73-ab832c645c4a}*SharedItemsImports = 5 src\Compatibility\ApiCompat\Microsoft.DotNet.ApiCompat.Shared\Microsoft.DotNet.ApiCompat.Shared.projitems*{0a3c9afd-f6e6-4a5d-83fb-93bf66732696}*SharedItemsImports = 5 + src\BuiltInTools\HotReloadAgent\Microsoft.DotNet.HotReload.Agent.projitems*{1bbfa19c-03f0-4d27-9d0d-0f8172642107}*SharedItemsImports = 5 src\BuiltInTools\AspireService\Microsoft.WebTools.AspireService.projitems*{1f0b4b3c-dc88-4740-b04f-1707102e9930}*SharedItemsImports = 5 + src\BuiltInTools\HotReloadAgent\Microsoft.DotNet.HotReload.Agent.projitems*{2ff79f82-60c1-349a-4726-7783d5a6d5df}*SharedItemsImports = 5 + src\BuiltInTools\HotReloadAgent\Microsoft.DotNet.HotReload.Agent.projitems*{418b10bd-ca42-49f3-8f4a-d8cc90c8a17d}*SharedItemsImports = 13 src\BuiltInTools\AspireService\Microsoft.WebTools.AspireService.projitems*{445efbd5-6730-4f09-943d-278e77501ffd}*SharedItemsImports = 5 src\BuiltInTools\AspireService\Microsoft.WebTools.AspireService.projitems*{94c8526e-dcc2-442f-9868-3dd0ba2688be}*SharedItemsImports = 13 src\Compatibility\ApiCompat\Microsoft.DotNet.ApiCompat.Shared\Microsoft.DotNet.ApiCompat.Shared.projitems*{9d36039f-d0a1-462f-85b4-81763c6b02cb}*SharedItemsImports = 13 diff --git a/src/BuiltInTools/DotNetDeltaApplier/Microsoft.Extensions.DotNetDeltaApplier.csproj b/src/BuiltInTools/DotNetDeltaApplier/Microsoft.Extensions.DotNetDeltaApplier.csproj index 00265c49cd91..c59a80a6e1c1 100644 --- a/src/BuiltInTools/DotNetDeltaApplier/Microsoft.Extensions.DotNetDeltaApplier.csproj +++ b/src/BuiltInTools/DotNetDeltaApplier/Microsoft.Extensions.DotNetDeltaApplier.csproj @@ -1,4 +1,5 @@  + + $(VisualStudioServiceTargetFramework) + false + none + false + enable + preview + + + true + true + Microsoft.DotNet.HotReload.Agent + false + + Package containing sources of Hot Reload agent. + + + $(NoWarn);NU5128 + + + + + + diff --git a/src/BuiltInTools/dotnet-watch/HotReload/AgentMessageSeverity.cs b/src/BuiltInTools/HotReloadAgent/AgentMessageSeverity.cs similarity index 87% rename from src/BuiltInTools/dotnet-watch/HotReload/AgentMessageSeverity.cs rename to src/BuiltInTools/HotReloadAgent/AgentMessageSeverity.cs index 88bf9a039fc6..d6c23929b7b4 100644 --- a/src/BuiltInTools/dotnet-watch/HotReload/AgentMessageSeverity.cs +++ b/src/BuiltInTools/HotReloadAgent/AgentMessageSeverity.cs @@ -1,7 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -namespace Microsoft.DotNet.Watch; internal enum AgentMessageSeverity : byte { diff --git a/src/BuiltInTools/DotNetDeltaApplier/AgentReporter.cs b/src/BuiltInTools/HotReloadAgent/AgentReporter.cs similarity index 95% rename from src/BuiltInTools/DotNetDeltaApplier/AgentReporter.cs rename to src/BuiltInTools/HotReloadAgent/AgentReporter.cs index 90ae2d674aca..794a23956359 100644 --- a/src/BuiltInTools/DotNetDeltaApplier/AgentReporter.cs +++ b/src/BuiltInTools/HotReloadAgent/AgentReporter.cs @@ -1,7 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -namespace Microsoft.DotNet.Watch; +namespace Microsoft.DotNet.HotReload; internal sealed class AgentReporter { diff --git a/src/BuiltInTools/DotNetDeltaApplier/HotReloadAgent.cs b/src/BuiltInTools/HotReloadAgent/HotReloadAgent.cs similarity index 99% rename from src/BuiltInTools/DotNetDeltaApplier/HotReloadAgent.cs rename to src/BuiltInTools/HotReloadAgent/HotReloadAgent.cs index eab6448749f5..5350c0ae2d8d 100644 --- a/src/BuiltInTools/DotNetDeltaApplier/HotReloadAgent.cs +++ b/src/BuiltInTools/HotReloadAgent/HotReloadAgent.cs @@ -4,8 +4,9 @@ using System.Collections.Concurrent; using System.Diagnostics; using System.Reflection; +using Microsoft.DotNet.Watch; -namespace Microsoft.DotNet.Watch; +namespace Microsoft.DotNet.HotReload; #if NET [System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Hot reload is only expected to work when trimming is disabled.")] diff --git a/src/BuiltInTools/DotNetDeltaApplier/MetadataUpdateHandlerInvoker.cs b/src/BuiltInTools/HotReloadAgent/MetadataUpdateHandlerInvoker.cs similarity index 94% rename from src/BuiltInTools/DotNetDeltaApplier/MetadataUpdateHandlerInvoker.cs rename to src/BuiltInTools/HotReloadAgent/MetadataUpdateHandlerInvoker.cs index 9e5a5669ea3a..3c3583949130 100644 --- a/src/BuiltInTools/DotNetDeltaApplier/MetadataUpdateHandlerInvoker.cs +++ b/src/BuiltInTools/HotReloadAgent/MetadataUpdateHandlerInvoker.cs @@ -1,13 +1,18 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System.Diagnostics.CodeAnalysis; using System.Reflection; -namespace Microsoft.DotNet.Watch; +namespace Microsoft.DotNet.HotReload; /// /// Finds and invokes metadata update handlers. /// +#if NET +[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Hot reload is only expected to work when trimming is disabled.")] +[UnconditionalSuppressMessage("Trimming", "IL2070", Justification = "Hot reload is only expected to work when trimming is disabled.")] +#endif internal sealed class MetadataUpdateHandlerInvoker(AgentReporter reporter) { internal sealed class RegisteredActions(IReadOnlyList> clearCache, IReadOnlyList> updateApplication) @@ -163,7 +168,7 @@ internal RegisteredActions GetMetadataUpdateHandlerActions(IEnumerable han MethodInfo? GetUpdateMethod(Type handlerType, string name) { - if (handlerType.GetMethod(name, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static, binder: null, new[] { typeof(Type[]) }, modifiers: null) is MethodInfo updateMethod && + if (handlerType.GetMethod(name, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static, binder: null, [typeof(Type[])], modifiers: null) is MethodInfo updateMethod && updateMethod.ReturnType == typeof(void)) { return updateMethod; diff --git a/src/BuiltInTools/HotReloadAgent/Microsoft.DotNet.HotReload.Agent.projitems b/src/BuiltInTools/HotReloadAgent/Microsoft.DotNet.HotReload.Agent.projitems new file mode 100644 index 000000000000..c28d7de9cdf7 --- /dev/null +++ b/src/BuiltInTools/HotReloadAgent/Microsoft.DotNet.HotReload.Agent.projitems @@ -0,0 +1,14 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + true + 418B10BD-CA42-49F3-8F4A-D8CC90C8A17D + + + Microsoft.DotNet.HotReload + + + + + \ No newline at end of file diff --git a/src/BuiltInTools/HotReloadAgent/Microsoft.DotNet.HotReload.Agent.shproj b/src/BuiltInTools/HotReloadAgent/Microsoft.DotNet.HotReload.Agent.shproj new file mode 100644 index 000000000000..8bec0ced75ec --- /dev/null +++ b/src/BuiltInTools/HotReloadAgent/Microsoft.DotNet.HotReload.Agent.shproj @@ -0,0 +1,13 @@ + + + + {418B10BD-CA42-49F3-8F4A-D8CC90C8A17D} + 14.0 + + + + + + + + \ No newline at end of file diff --git a/src/BuiltInTools/dotnet-watch/HotReload/ResponseLoggingLevel.cs b/src/BuiltInTools/HotReloadAgent/ResponseLoggingLevel.cs similarity index 85% rename from src/BuiltInTools/dotnet-watch/HotReload/ResponseLoggingLevel.cs rename to src/BuiltInTools/HotReloadAgent/ResponseLoggingLevel.cs index b6ec99381d8d..b081d74326f1 100644 --- a/src/BuiltInTools/dotnet-watch/HotReload/ResponseLoggingLevel.cs +++ b/src/BuiltInTools/HotReloadAgent/ResponseLoggingLevel.cs @@ -1,7 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -namespace Microsoft.DotNet.Watch; +namespace Microsoft.DotNet.HotReload; internal enum ResponseLoggingLevel : byte { diff --git a/src/BuiltInTools/dotnet-watch/HotReload/UpdateDelta.cs b/src/BuiltInTools/HotReloadAgent/UpdateDelta.cs similarity index 99% rename from src/BuiltInTools/dotnet-watch/HotReload/UpdateDelta.cs rename to src/BuiltInTools/HotReloadAgent/UpdateDelta.cs index 412ce62fc1b7..f5bba35278ac 100644 --- a/src/BuiltInTools/dotnet-watch/HotReload/UpdateDelta.cs +++ b/src/BuiltInTools/HotReloadAgent/UpdateDelta.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.DotNet.Watch; - internal readonly struct UpdateDelta(Guid moduleId, byte[] metadataDelta, byte[] ilDelta, byte[] pdbDelta, int[] updatedTypes) { public Guid ModuleId { get; } = moduleId; diff --git a/src/BuiltInTools/dotnet-watch.slnf b/src/BuiltInTools/dotnet-watch.slnf index 5baaf69115c2..e18611cb6620 100644 --- a/src/BuiltInTools/dotnet-watch.slnf +++ b/src/BuiltInTools/dotnet-watch.slnf @@ -7,12 +7,14 @@ "src\\BuiltInTools\\BrowserRefresh\\Microsoft.AspNetCore.Watch.BrowserRefresh.csproj", "src\\BuiltInTools\\DotNetDeltaApplier\\Microsoft.Extensions.DotNetDeltaApplier.csproj", "src\\BuiltInTools\\DotNetWatchTasks\\DotNetWatchTasks.csproj", + "src\\BuiltInTools\\HotReloadAgent.Package\\Microsoft.DotNet.HotReload.Agent.Package.csproj", + "src\\BuiltInTools\\HotReloadAgent\\Microsoft.DotNet.HotReload.Agent.shproj", "src\\BuiltInTools\\dotnet-watch\\dotnet-watch.csproj", "test\\Microsoft.AspNetCore.Watch.BrowserRefresh.Tests\\Microsoft.AspNetCore.Watch.BrowserRefresh.Tests.csproj", "test\\Microsoft.Extensions.DotNetDeltaApplier.Tests\\Microsoft.Extensions.DotNetDeltaApplier.Tests.csproj", "test\\Microsoft.NET.TestFramework\\Microsoft.NET.TestFramework.csproj", - "test\\dotnet-watch.Tests\\dotnet-watch.Tests.csproj", - "test\\Microsoft.WebTools.AspireService.Tests\\Microsoft.WebTools.AspireService.Tests.csproj" + "test\\Microsoft.WebTools.AspireService.Tests\\Microsoft.WebTools.AspireService.Tests.csproj", + "test\\dotnet-watch.Tests\\dotnet-watch.Tests.csproj" ] } } \ No newline at end of file diff --git a/src/BuiltInTools/dotnet-watch/HotReload/BlazorWebAssemblyDeltaApplier.cs b/src/BuiltInTools/dotnet-watch/HotReload/BlazorWebAssemblyDeltaApplier.cs index 701e9edb8254..33ebd17f8a44 100644 --- a/src/BuiltInTools/dotnet-watch/HotReload/BlazorWebAssemblyDeltaApplier.cs +++ b/src/BuiltInTools/dotnet-watch/HotReload/BlazorWebAssemblyDeltaApplier.cs @@ -4,6 +4,7 @@ using System.Buffers; using System.Collections.Immutable; using Microsoft.CodeAnalysis.ExternalAccess.Watch.Api; +using Microsoft.DotNet.HotReload; namespace Microsoft.DotNet.Watch { diff --git a/src/BuiltInTools/dotnet-watch/HotReload/DefaultDeltaApplier.cs b/src/BuiltInTools/dotnet-watch/HotReload/DefaultDeltaApplier.cs index 2ccd307bd6e1..2fade347530f 100644 --- a/src/BuiltInTools/dotnet-watch/HotReload/DefaultDeltaApplier.cs +++ b/src/BuiltInTools/dotnet-watch/HotReload/DefaultDeltaApplier.cs @@ -7,6 +7,7 @@ using System.Diagnostics; using System.IO.Pipes; using Microsoft.CodeAnalysis.ExternalAccess.Watch.Api; +using Microsoft.DotNet.HotReload; namespace Microsoft.DotNet.Watch { diff --git a/src/BuiltInTools/dotnet-watch/HotReload/DeltaApplier.cs b/src/BuiltInTools/dotnet-watch/HotReload/DeltaApplier.cs index bac753649d02..897dc710d841 100644 --- a/src/BuiltInTools/dotnet-watch/HotReload/DeltaApplier.cs +++ b/src/BuiltInTools/dotnet-watch/HotReload/DeltaApplier.cs @@ -4,6 +4,7 @@ using System.Collections.Immutable; using Microsoft.CodeAnalysis.ExternalAccess.Watch.Api; +using Microsoft.DotNet.HotReload; namespace Microsoft.DotNet.Watch { diff --git a/src/BuiltInTools/dotnet-watch/HotReload/NamedPipeContract.cs b/src/BuiltInTools/dotnet-watch/HotReload/NamedPipeContract.cs index 0cb55835a07a..d241241cc7de 100644 --- a/src/BuiltInTools/dotnet-watch/HotReload/NamedPipeContract.cs +++ b/src/BuiltInTools/dotnet-watch/HotReload/NamedPipeContract.cs @@ -1,6 +1,8 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using Microsoft.DotNet.HotReload; + namespace Microsoft.DotNet.Watch { internal readonly struct UpdatePayload(IReadOnlyList deltas, ResponseLoggingLevel responseLoggingLevel) diff --git a/src/BuiltInTools/dotnet-watch/dotnet-watch.csproj b/src/BuiltInTools/dotnet-watch/dotnet-watch.csproj index 2fb01d75ea7c..ee602dbfc053 100644 --- a/src/BuiltInTools/dotnet-watch/dotnet-watch.csproj +++ b/src/BuiltInTools/dotnet-watch/dotnet-watch.csproj @@ -38,6 +38,10 @@ + + + + diff --git a/test/Microsoft.Extensions.DotNetDeltaApplier.Tests/HotReloadAgentTest.cs b/test/Microsoft.Extensions.DotNetDeltaApplier.Tests/HotReloadAgentTest.cs index e398a63b5985..3c0673244bed 100644 --- a/test/Microsoft.Extensions.DotNetDeltaApplier.Tests/HotReloadAgentTest.cs +++ b/test/Microsoft.Extensions.DotNetDeltaApplier.Tests/HotReloadAgentTest.cs @@ -2,6 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. using System.Reflection; +using Microsoft.DotNet.HotReload; using Moq; namespace Microsoft.DotNet.Watch.UnitTests diff --git a/test/Microsoft.NET.Build.Tests/GivenThatWeWantToControlGeneratedAssemblyInfo.cs b/test/Microsoft.NET.Build.Tests/GivenThatWeWantToControlGeneratedAssemblyInfo.cs index 98ebc8121ae7..d20fb4f271d2 100644 --- a/test/Microsoft.NET.Build.Tests/GivenThatWeWantToControlGeneratedAssemblyInfo.cs +++ b/test/Microsoft.NET.Build.Tests/GivenThatWeWantToControlGeneratedAssemblyInfo.cs @@ -810,7 +810,7 @@ public void It_does_not_write_to_undefined_assembly_metadata_attribute(string ta } } - [Theory] + [Theory(Skip = "https://github.com/dotnet/sdk/issues/45148")] [InlineData("netcoreapp3.1", ".NET Core 3.1")] [InlineData("netcoreapp2.1", ".NET Core 2.1")] [InlineData("netstandard2.1", ".NET Standard 2.1")] diff --git a/test/dotnet-watch.Tests/HotReload/UpdatePayloadTests.cs b/test/dotnet-watch.Tests/HotReload/UpdatePayloadTests.cs index 75780eb586e6..78c5fc317867 100644 --- a/test/dotnet-watch.Tests/HotReload/UpdatePayloadTests.cs +++ b/test/dotnet-watch.Tests/HotReload/UpdatePayloadTests.cs @@ -1,6 +1,8 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using Microsoft.DotNet.HotReload; + namespace Microsoft.DotNet.Watch.UnitTests { public class UpdatePayloadTests