Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<MicrosoftDotNetHotReloadPackageVersion>10.0.100-rc.2.25502.106</MicrosoftDotNetHotReloadPackageVersion>
<MicrosoftDotNetHotReloadPackageVersion>10.0.200-dev</MicrosoftDotNetHotReloadPackageVersion>
</PropertyGroup>

<!--
Expand All @@ -32,11 +32,12 @@
<PackageVersion Include="System.IO.Pipelines" Version="9.0.0" />
<PackageVersion Include="StreamJsonRpc" Version="2.23.32-alpha" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.0" />
<PackageVersion Include="Microsoft.DotNet.HotReload.Agent" Version="$(MicrosoftDotNetHotReloadPackageVersion)"/>
<PackageVersion Include="Microsoft.DotNet.HotReload.Agent.Data" Version="$(MicrosoftDotNetHotReloadPackageVersion)"/>
<PackageVersion Include="Microsoft.DotNet.HotReload.Agent.PipeRpc" Version="$(MicrosoftDotNetHotReloadPackageVersion)"/>
<PackageVersion Include="Microsoft.DotNet.HotReload.Agent.Host" Version="10.0.100-rc.2.25468.104"/>
<PackageVersion Include="Microsoft.DotNet.HotReload.Agent.Host" Version="$(MicrosoftDotNetHotReloadPackageVersion)"/>
<PackageVersion Include="Microsoft.DotNet.HotReload.Client" Version="$(MicrosoftDotNetHotReloadPackageVersion)"/>
<PackageVersion Include="Microsoft.DotNet.HotReload.Web.Middleware" Version="10.0.100-rc.2.25468.104"/>
<PackageVersion Include="Microsoft.DotNet.HotReload.Web.Middleware" Version="$(MicrosoftDotNetHotReloadPackageVersion)"/>

<!-- VS SDK -->
<!-- https://dev.azure.com/azure-public/vside/_artifacts/feed/vssdk -->
Expand Down
18 changes: 16 additions & 2 deletions ProjectSystem.sln
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31514.227
# Visual Studio Version 18
VisualStudioVersion = 18.0.11114.144 d18.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "setup", "setup", "{AC8DB8AE-AC9F-4503-83C6-255B66C318C6}"
ProjectSection(SolutionItems) = preProject
Expand Down Expand Up @@ -81,6 +81,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Common", "Common", "{2BEDB9
src\Common\BannedSymbols.txt = src\Common\BannedSymbols.txt
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.AspNetCore.Watch.BrowserRefresh", "src\Microsoft.AspNetCore.Watch.BrowserRefresh\Microsoft.AspNetCore.Watch.BrowserRefresh.csproj", "{C45E9403-8251-B5D1-CF02-6E8367F7218E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Extensions.DotNetDeltaApplier", "src\Microsoft.Extensions.DotNetDeltaApplier\Microsoft.Extensions.DotNetDeltaApplier.csproj", "{51C57440-D5AB-889E-510A-CF81B0DA5333}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -142,6 +146,14 @@ Global
{A0B3F2BD-C92A-4037-A9F0-4EC484267E75}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A0B3F2BD-C92A-4037-A9F0-4EC484267E75}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A0B3F2BD-C92A-4037-A9F0-4EC484267E75}.Release|Any CPU.Build.0 = Release|Any CPU
{C45E9403-8251-B5D1-CF02-6E8367F7218E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C45E9403-8251-B5D1-CF02-6E8367F7218E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C45E9403-8251-B5D1-CF02-6E8367F7218E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C45E9403-8251-B5D1-CF02-6E8367F7218E}.Release|Any CPU.Build.0 = Release|Any CPU
{51C57440-D5AB-889E-510A-CF81B0DA5333}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{51C57440-D5AB-889E-510A-CF81B0DA5333}.Debug|Any CPU.Build.0 = Debug|Any CPU
{51C57440-D5AB-889E-510A-CF81B0DA5333}.Release|Any CPU.ActiveCfg = Release|Any CPU
{51C57440-D5AB-889E-510A-CF81B0DA5333}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -162,6 +174,8 @@ Global
{02578366-DFA9-4827-93F7-08E2AE5CE6A4} = {7349958E-C619-481F-BB2A-8A4CA2E349D9}
{A0B3F2BD-C92A-4037-A9F0-4EC484267E75} = {7349958E-C619-481F-BB2A-8A4CA2E349D9}
{2BEDB95B-AAC2-4F6D-92EA-61F07E77887E} = {1FF0293B-6808-4BB1-8370-1FE222986654}
{C45E9403-8251-B5D1-CF02-6E8367F7218E} = {1FF0293B-6808-4BB1-8370-1FE222986654}
{51C57440-D5AB-889E-510A-CF81B0DA5333} = {1FF0293B-6808-4BB1-8370-1FE222986654}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6B652C28-D1FD-4885-A0CA-4704C54E78E7}
Expand Down
1 change: 1 addition & 0 deletions nuget.config
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@
<clear />
<!-- Browse packages at https://dev.azure.com/azure-public/vside/_artifacts/feed/dotnet-project-system-public-packages -->
<add key="dotnet-project-system-public-packages" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/dotnet-project-system-public-packages/nuget/v3/index.json" />
<add key="sdk" value="C:\sdk\artifacts\packages\Debug\NonShipping"/>
</packageSources>
</configuration>
2 changes: 2 additions & 0 deletions setup/ProjectSystemSetup/ProjectSystemSetup.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@
</Compile>
</ItemGroup>

<Import Project="..\..\src\HotReloadRuntimeDependencies.props"/>

<Target Name="PostProcessVsixSourceItems" AfterTargets="GetVsixSourceItems">
<ItemGroup>
<!-- Excludes the localized .xaml files from the VSIX which are added from the GetCopyToOutputDirectoryItems output group. Only the localized .dlls are needed in the VSIX. -->
Expand Down
5 changes: 0 additions & 5 deletions src/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,4 @@
<CopyVsixManifestToOutput>false</CopyVsixManifestToOutput>
</PropertyGroup>

<ItemGroup>
<Compile Include="..\Common\GlobalAssemblyInfo.cs" Condition="'$(Language)' == 'C#'" />
<Compile Include="..\Common\GlobalAssemblyInfo.vb" Condition="'$(Language)' == 'VB'" />
</ItemGroup>

</Project>
37 changes: 37 additions & 0 deletions src/HotReloadRuntimeDependencies.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<Project>
<!--
Assemblies that facilitate Hot Reload within the application process.
When updating TFMs here also update ProjectHotReloadSession.GetStartupHookPath and VisualStudioBrowserRefreshServer.MiddlewareTargetFramework.
-->
<ItemGroup>
<ProjectReference Include="$(MSBuildThisFileDirectory)Microsoft.AspNetCore.Watch.BrowserRefresh\Microsoft.AspNetCore.Watch.BrowserRefresh.csproj">
<OutputItemType>Content</OutputItemType>
<SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
<UndefineProperties>TargetFramework;TargetFrameworks</UndefineProperties>
<VSIXSubPath>HotReload\net6.0</VSIXSubPath>
<TargetPath>HotReload\net6.0\Microsoft.AspNetCore.Watch.BrowserRefresh.dll</TargetPath>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</ProjectReference>

<ProjectReference Include="$(MSBuildThisFileDirectory)Microsoft.Extensions.DotNetDeltaApplier\Microsoft.Extensions.DotNetDeltaApplier.csproj">
<OutputItemType>Content</OutputItemType>
<SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
<SetTargetFramework>TargetFramework=net10.0</SetTargetFramework>
<VSIXSubPath>HotReload\net10.0</VSIXSubPath>
<TargetPath>HotReload\net10.0\Microsoft.Extensions.DotNetDeltaApplier.dll</TargetPath>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</ProjectReference>

<ProjectReference Include="$(MSBuildThisFileDirectory)Microsoft.Extensions.DotNetDeltaApplier\Microsoft.Extensions.DotNetDeltaApplier.csproj">
<OutputItemType>Content</OutputItemType>
<SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
<SetTargetFramework>TargetFramework=net6.0</SetTargetFramework>
<VSIXSubPath>HotReload\net6.0</VSIXSubPath>
<TargetPath>HotReload\net6.0\Microsoft.Extensions.DotNetDeltaApplier.dll</TargetPath>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</ProjectReference>
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<!--
This assembly may be loaded .NET 6.0+ web server.
When updating the TFM also update minimal supported version in VisualStudioBrowserRefreshServer.
-->
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="Nerdbank.GitVersioning" PrivateAssets="all" />
<PackageReference Include="Microsoft.DotNet.HotReload.Web.Middleware" PrivateAssets="all" />
</ItemGroup>

<ItemGroup>
<Using Remove="@(Using)"/>
</ItemGroup>

<ItemGroup>
<Compile Update="@(Compile)">
<Link Condition="'%(NuGetPackageId)' != ''">%(NuGetPackageId)\%(Link)</Link>
</Compile>
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<!--
dotnet-watch may inject this assembly to .NET 6.0+ app.

When updating these also update ProjectHotReloadSession.
-->
<TargetFrameworks>net6.0;net10.0</TargetFrameworks>

<!-- Suppress warning: Microsoft.Bcl.AsyncInterfaces 9.0.0 doesn't support net6.0 and has not been tested with it. -->
<SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Nerdbank.GitVersioning" PrivateAssets="all" />
<PackageReference Include="Microsoft.DotNet.HotReload.Agent" PrivateAssets="all" />
<PackageReference Include="Microsoft.DotNet.HotReload.Agent.Data" PrivateAssets="all" />
<PackageReference Include="Microsoft.DotNet.HotReload.Agent.Host" PrivateAssets="all" />
<PackageReference Include="Microsoft.DotNet.HotReload.Agent.PipeRpc" PrivateAssets="all" />
</ItemGroup>

<ItemGroup>
<Using Remove="@(Using)"/>
</ItemGroup>

<ItemGroup>
<Compile Update="@(Compile)">
<Link Condition="'%(NuGetPackageId)' != ''">%(NuGetPackageId)\%(Link)</Link>
</Compile>
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
</ItemGroup>

<ItemGroup>
<Compile Include="..\Common\GlobalAssemblyInfo.vb" />

<Compile Include="..\Common\ManagedCodeMarkers.vb">
<Link>ManagedCodeMarkers.vb</Link>
</Compile>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@
</ItemGroup>

<ItemGroup>
<Compile Include="..\Common\GlobalAssemblyInfo.vb" />

<EmbeddedResource Update="AddImportsDialogs\AddImports.resx">
<SubType>Designer</SubType>
</EmbeddedResource>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@
</ItemGroup>

<ItemGroup>
<Compile Include="..\Common\GlobalAssemblyInfo.cs" />

<Compile Update="ProjectSystem\VS\LanguageServices\CSharp\CSharpCodeDomProvider.cs">
<SubType>Component</SubType>
</Compile>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,7 @@
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" />
<PackageReference Include="Microsoft.DotNet.HotReload.Agent.Data" PrivateAssets="all" />
<PackageReference Include="Microsoft.DotNet.HotReload.Agent.PipeRpc" PrivateAssets="all" />
<PackageReference Include="Microsoft.DotNet.HotReload.Agent.Host" PrivateAssets="all" ExcludeAssets="all" GeneratePathProperty="true" />
<PackageReference Include="Microsoft.DotNet.HotReload.Client" PrivateAssets="all" />
<PackageReference Include="Microsoft.DotNet.HotReload.Web.Middleware" PrivateAssets="all" ExcludeAssets="all" GeneratePathProperty="true" />

<!-- Needed to break assembly conflict on StreamJsonRpc between microsoft.visualstudio.projectsystem.query and microsoft.visualstudio.languageservices -->
<PackageReference Include="Microsoft.VisualStudio.RpcContracts" />
Expand All @@ -71,33 +69,12 @@
<PackageReference Include="Microsoft.VisualStudio.Internal.MicroBuild.NpmPack" PrivateAssets="all" />
</ItemGroup>

<!--
Assemblies that facilitate Hot Reload within the application process.
When updating TFMs here also update ProjectHotReloadSession.GetStartupHookPath and VisualStudioBrowserRefreshServer.MiddlewareTargetFramework.
-->
<ItemGroup>
<Content Include="$(PkgMicrosoft_DotNet_HotReload_Web_Middleware)\lib\net6.0\Microsoft.AspNetCore.Watch.BrowserRefresh.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<TargetPath>HotReload\net6.0\Microsoft.AspNetCore.Watch.BrowserRefresh.dll</TargetPath>
<Pack>false</Pack>
</Content>
<Content Include="$(PkgMicrosoft_DotNet_HotReload_Agent_Host)\lib\net6.0\Microsoft.Extensions.DotNetDeltaApplier.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<TargetPath>HotReload\net6.0\Microsoft.Extensions.DotNetDeltaApplier.dll</TargetPath>
<Pack>false</Pack>
</Content>
<Content Include="$(PkgMicrosoft_DotNet_HotReload_Agent_Host)\lib\net10.0\Microsoft.Extensions.DotNetDeltaApplier.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<TargetPath>HotReload\net10.0\Microsoft.Extensions.DotNetDeltaApplier.dll</TargetPath>
<Pack>false</Pack>
</Content>
</ItemGroup>

<Import Project="..\HotReloadRuntimeDependencies.props"/>

<!-- Dependencies -->
<ItemGroup>
<Compile Include="..\Common\GlobalAssemblyInfo.cs" />

<!-- Analyzer Reference -->
<Compile Update="ProjectSystem\Rules\Dependencies\AnalyzerReference.xaml.cs">
<DependentUpon>AnalyzerReference.xaml</DependentUpon>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ namespace Microsoft.VisualStudio.ProjectSystem.HotReload;
internal sealed class HotReloadLogger(IHotReloadDiagnosticOutputService service, string projectName, string variant, int sessionInstanceId, string categoryName) : ILogger
{
public bool IsEnabled(LogLevel logLevel)
=> true;
// Do not enable Trace level logging as it affects the application output
=> logLevel >= LogLevel.Debug;

public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception? exception, Func<TState, Exception?, string> formatter)
{
Expand Down
Loading