Skip to content
Open
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
2 changes: 1 addition & 1 deletion Directory.Build.targets
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Project>

<Import Project="eng\imports\StrongName.targets" />
<Import Project="eng\imports\SymStore.targets" Condition="'$(CIBuild)' == 'true'"/>
<Import Project="eng\imports\SymStore.targets" Condition="'$(CIBuild)' == 'true' and '$(PublishWindowsPdb)' != 'false'"/>
<!-- VSSDK is needed in projects generating VSIX packages or pkgdef files. -->
<!-- Manually importing the .targets here allows SDK-style VS Extension projects to build properly. -->
<!-- See: https://github.com/dotnet/msbuild/issues/2393#issuecomment-1126563335 -->
Expand Down
13 changes: 4 additions & 9 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-preview.0.25553.109</MicrosoftDotNetHotReloadPackageVersion>
</PropertyGroup>

<!--
Expand All @@ -29,14 +29,14 @@
<PackageVersion Include="Microsoft.VisualStudioEng.MicroBuild.Core" Version="1.0.0" />
<PackageVersion Include="Nerdbank.GitVersioning" Version="3.6.79-alpha" />
<PackageVersion Include="Nerdbank.Streams" Version="2.12.87" />
<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 Expand Up @@ -69,8 +69,6 @@
<PackageVersion Include="Microsoft.VisualStudio.Validation" Version="17.8.8" />
<PackageVersion Include="Microsoft.VisualStudio.XmlEditor" Version="17.13.0-preview-1-35408-014" />
<PackageVersion Include="Microsoft.VSSDK.BuildTools" Version="18.0.136-preview1" />
<PackageVersion Include="System.Threading.Tasks.Dataflow" Version="9.0.0" />
<PackageVersion Include="System.Formats.Asn1" Version="8.0.1" />
<PackageVersion Include="Microsoft.VSDesigner" Version="18.0.1755-preview.1" />
<PackageVersion Include="VsWebSite.Interop" Version="18.0.1755-preview.1" />
<PackageVersion Include="Microsoft.VisualStudio.Debugger.Interop.18.0" Version="18.0.1755-preview.1" />
Expand All @@ -89,7 +87,6 @@
<!-- Roslyn -->
<PackageVersion Include="Microsoft.CodeAnalysis" Version="5.0.0-1.25321.102" />
<PackageVersion Include="Microsoft.CodeAnalysis.Common" Version="5.0.0-1.25321.102" />
<PackageVersion Include="Microsoft.CSharp" Version="4.7.0" />
<PackageVersion Include="Microsoft.Net.Compilers.Toolset" Version="5.0.0-1.25321.102" />
<PackageVersion Include="Microsoft.VisualStudio.LanguageServices" Version="5.0.0-1.25321.102" />

Expand All @@ -105,8 +102,6 @@

<!-- Framework packages -->
<PackageVersion Include="Microsoft.IO.Redist" Version="6.1.0" />
<!-- Pin version to avoid CVE in System.Text.Json 8.0.4 -->
<PackageVersion Include="System.Text.Json" Version="9.0.0" />

<!-- MSBuild (for tests only) -->
<PackageVersion Include="Microsoft.Build" Version="17.13.0-preview-24504-04" />
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
20 changes: 2 additions & 18 deletions eng/Build.proj
Original file line number Diff line number Diff line change
Expand Up @@ -50,27 +50,11 @@

<Exec Command="dotnet --info" WorkingDirectory="$(ArtifactsDir)" />

<!-- Due to bug https://github.com/dotnet/sdk/issues/47008 we cannot pass paths that contain drive letters to "dotnet sln add".
We do some contortion here to make the paths relative, and run them from the root directory. This code is a big ugly because
there's no Path.GetRelativePath on .NET Framework. -->
<PropertyGroup>
<DriveRootPath>$([System.IO.Path]::GetPathRoot('$(ArtifactsDir)'))</DriveRootPath>
<ArtifactsDirRelative>$([System.String]::Copy('$(ArtifactsDir)').Substring(3))</ArtifactsDirRelative>
</PropertyGroup>

<!-- Create the solution. Use 'force' to override existing. -->
<Exec Command="dotnet new sln -n $(MSBuildProjectName) -o $(ArtifactsDir) --force" WorkingDirectory="$(DriveRootPath)" />

<!-- Strip the drive letter and backslash, e.g. D:\ => -->
<ItemGroup>
<BuildProjectWithRel Include="@(BuildProject)">
<!-- Trim the first three characters: D:\ -->
<RelPath>$([System.String]::Copy('%(BuildProject.FullPath)').Substring(3))</RelPath>
</BuildProjectWithRel>
</ItemGroup>
<Exec Command="dotnet new sln -n $(MSBuildProjectName) -o $(ArtifactsDir) -f sln --force" WorkingDirectory="$(DriveRootPath)" />

<!-- Add each BuildProject to the solution. -->
<Exec Command="dotnet sln &quot;$(ArtifactsDirRelative)/$(MSBuildProjectName).sln&quot; add &quot;%(BuildProjectWithRel.RelPath)&quot;" WorkingDirectory="$(DriveRootPath)" />
<Exec Command="dotnet sln &quot;$(ArtifactsDir)$(MSBuildProjectName).sln&quot; add &quot;%(BuildProject.FullPath)&quot;" />

<!-- Build the solution. -->
<MSBuild Projects="$(ArtifactsDir)$(MSBuildProjectName).sln" Targets="@(BuildTarget)" BuildInParallel="true" Condition="'@(BuildTarget)' != ''" />
Expand Down
4 changes: 0 additions & 4 deletions eng/imports/HostAgnostic.props
Original file line number Diff line number Diff line change
Expand Up @@ -18,26 +18,22 @@
<!-- Note: We require Nerdbank.GitVersioning beyond simply generating version numbers. It also produces some assembly information such as AssemblyName and PublicKeyToken into a *.ThisAssembly.cs file. -->
<PackageReference Include="Nerdbank.GitVersioning" PrivateAssets="all" />
<PackageReference Include="Nerdbank.Streams" ExcludeAssets="all" />
<PackageReference Include="System.IO.Pipelines" ExcludeAssets="all" />

<!-- CPS -->
<PackageReference Include="Microsoft.VisualStudio.ProjectSystem" />
<PackageReference Include="Microsoft.VisualStudio.ProjectSystem.Sdk.Tools" PrivateAssets="all" />
<PackageReference Include="Microsoft.VisualStudio.ProjectSystem.XamlTypes" Condition="'$(TargetFramework)' == '$(NetCoreTargetFramework)'" />
<PackageReference Include="Microsoft.VisualStudio.Threading" />
<PackageReference Include="Microsoft.VisualStudio.Validation" />
<PackageReference Include="System.Threading.Tasks.Dataflow" />

<PackageReference Include="Microsoft.IO.Redist" Condition="'$(TargetFramework)' == 'net472'" />
<PackageReference Include="System.Text.Json" />

<!-- VS MEF -->
<PackageReference Include="Microsoft.VisualStudio.Composition" />

<PackageReference Include="MessagePack" />

<!-- Roslyn -->
<PackageReference Include="Microsoft.CSharp" />
<PackageReference Include="Microsoft.CodeAnalysis" />

<!-- Needed to tie-break a potentially misspecified dependency somewhere -->
Expand Down
9 changes: 8 additions & 1 deletion eng/pipelines/templates/build-pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,19 @@ jobs:

# Ensure the .NET runtime needed by our unit tests is installed.
- task: UseDotNet@2
displayName: Install .NET Runtime
displayName: Install .NET 9.0.x Runtime
inputs:
packageType: runtime
# This should match the target of our unit test projects.
version: 9.0.x

# .NET SDK used for build
- task: UseDotNet@2
displayName: Install .NET 10.x Runtime
inputs:
includePreviewVersions: true
version: 10.x

# Allows for accessing the internal AzDO feed (vs-impl-internal) for project restore via Azure Artifacts Credential Provider.
# See: https://github.com/microsoft/artifacts-credprovider#automatic-usage
# YAML reference: https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget-authenticate?view=azure-devops
Expand Down
5 changes: 2 additions & 3 deletions eng/pipelines/templates/generate-localization.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,8 @@ jobs:
- task: UseDotNet@2
displayName: Install .NET Runtime
inputs:
packageType: runtime
# This should match the target in OneLocBuildSetup.csproj.
version: 9.0.x
includePreviewVersions: true
version: 10.x

# Creates the LocProject.json and perform some necessary file copying and renaming.
- task: DotNetCoreCLI@2
Expand Down
6 changes: 6 additions & 0 deletions global.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"sdk": {
// necessary for VS to find pre-release SDKs
"allowPrerelease": true
}
}
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,32 @@
<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>

<!-- Workaround issues with Pdb2Pdb conversion: the assembly does not load to any VS process -->
<DebugType>embedded</DebugType>
<PublishWindowsPdb>false</PublishWindowsPdb>
</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,35 @@
<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>

<!-- Workaround issues with Pdb2Pdb conversion: the assembly does not load to any VS process -->
<DebugType>embedded</DebugType>
<PublishWindowsPdb>false</PublishWindowsPdb>
</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
Loading