Ever since dotnet/coreclr#26792 I wasn't able to F5 launch the crossgen2 project from the src\tools\crossgen2\crossgen2.sln solution. I tried git clean, updating VS, etc. until I convinced myself this is really broken for everyone.
The error was:
```
It was not possible to find any compatible framework version
The specified framework 'Microsoft.NETCore.App', version '3.0.0' was not found.
- No frameworks were found.
```
I narrowed this down to the various json config file gunk. Not generating the json file gunk makes the old setup work again. We likely don't need the crossgen2/libs hack anymore either.
Commit migrated from https://github.com/dotnet/coreclr/commit/
088299e2b7f439dfd1f5056fdc291b9d82149fc1
<TargetFramework>netstandard1.3</TargetFramework>
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<Platforms>x64;x86</Platforms>
- <OutputPath>$(BinDir)/crossgen2/libs</OutputPath>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+
+ <!-- We're binplacing these into an existing publish layout so that F5 build in VS updates
+ the same bits tests expect to see in bin/crossgen2. That way we never need to wonder which
+ binaries are up to date and which are stale. -->
+ <OutputPath>$(BinDir)/crossgen2</OutputPath>
+ <GenerateDependencyFile>false</GenerateDependencyFile>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.Xml.ReaderWriter">
<DefineConstants>READYTORUN;$(DefineConstants)</DefineConstants>
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<Platforms>x64;x86</Platforms>
- <OutputPath>$(BinDir)/crossgen2/libs</OutputPath>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+
+ <!-- We're binplacing these into an existing publish layout so that F5 build in VS updates
+ the same bits tests expect to see in bin/crossgen2. That way we never need to wonder which
+ binaries are up to date and which are stale. -->
+ <OutputPath>$(BinDir)/crossgen2</OutputPath>
+ <GenerateDependencyFile>false</GenerateDependencyFile>
</PropertyGroup>
<ItemGroup>
<TargetFramework>netstandard1.3</TargetFramework>
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<Platforms>x64;x86</Platforms>
- <OutputPath>$(BinDir)/crossgen2/libs</OutputPath>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+
+ <!-- We're binplacing these into an existing publish layout so that F5 build in VS updates
+ the same bits tests expect to see in bin/crossgen2. That way we never need to wonder which
+ binaries are up to date and which are stale. -->
+ <OutputPath>$(BinDir)/crossgen2</OutputPath>
+ <GenerateDependencyFile>false</GenerateDependencyFile>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.IO.MemoryMappedFiles">
<TargetFramework>netcoreapp3.0</TargetFramework>
<NoWarn>8002,NU1701</NoWarn>
<Platforms>x64;x86</Platforms>
- <OutputPath>$(BinDir)/crossgen2</OutputPath>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+
+ <!-- We're binplacing these into an existing publish layout so that F5 build in VS updates
+ the same bits tests expect to see in bin/crossgen2. That way we never need to wonder which
+ binaries are up to date and which are stale. -->
+ <OutputPath>$(BinDir)/crossgen2</OutputPath>
+ <GenerateDependencyFile>false</GenerateDependencyFile>
+ <GenerateRuntimeConfigurationFiles>false</GenerateRuntimeConfigurationFiles>
</PropertyGroup>
<ItemGroup>