System.Reactive.csproj 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <Project Sdk="Microsoft.NET.Sdk">
  2. <PropertyGroup>
  3. <TargetFrameworks>netstandard2.0;net472;uap10.0.18362;net6.0;net6.0-windows10.0.19041</TargetFrameworks>
  4. <Nullable>enable</Nullable>
  5. </PropertyGroup>
  6. <PropertyGroup>
  7. <Description>Legacy facade for Reactive Extensions (Rx) for .NET</Description>
  8. <PackageReadmeFile>readme.md</PackageReadmeFile>
  9. </PropertyGroup>
  10. <ItemGroup>
  11. <None Include="..\NuGet.Facades.Readme.md" Pack="true" PackagePath="\readme.md" />
  12. </ItemGroup>
  13. <ItemGroup>
  14. <!--
  15. This facade is much newer than the others. The rest were created
  16. at the time of the Great Unification (Rx 4.0) to provide backwards
  17. compatibility with Rx 3.1, so they need to retain the same assembly
  18. version number hack that Rx 3.1 introduced in an attempt to solve
  19. the plug-in problem described in https://github.com/dotnet/reactive/issues/97
  20. System.Reactive became a facade much later (Rx 7.0) in order to
  21. partially unwind the Great Unification. Since we had long since stopped
  22. using the assembly version number hack, we don't want to apply
  23. it here. The Directory.build.props file in the facades folder applies
  24. this, so we need to remove it.
  25. -->
  26. <Compile Remove="..\GlobalAssemblyVersion.cs" Link="GlobalAssemblyVersion.cs" />
  27. </ItemGroup>
  28. <PropertyGroup>
  29. <!-- Re-instate the normal versioning behaviour. -->
  30. <GenerateAssemblyVersionAttribute>true</GenerateAssemblyVersionAttribute>
  31. <GenerateAssemblyVersionInfo>true</GenerateAssemblyVersionInfo>
  32. </PropertyGroup>
  33. <!--
  34. The various platform-specific APIs that System.Reactive used to support are now deprecated,
  35. because we've moved to a more modular approach with separate packages for each platform, and
  36. this entails some changes to naming conventions. These deprecated types now live in this facade.
  37. -->
  38. <ItemGroup>
  39. <Compile Remove="Obsolete\**\*.*" />
  40. <EmbeddedResource Remove="Obsolete\**\*.*" />
  41. <!-- Workaround so the files appear in VS -->
  42. <None Include="Obsolete\**\*.*" />
  43. <None Include="..\..\src\System.Reactive.For.Uwp\Stubs.cs" Link="Obsolete\UWP\Stubs.cs" />
  44. <None Include="..\..\src\System.Reactive.For.Uwp\ThreadPoolTimerExtensions.cs" Link="Obsolete\UWP\Concurrency\ThreadPoolTimerExtensions.cs" />
  45. <None Update="Linq\QbservableEx.NAry.tt">
  46. <Generator>TextTemplatingFileGenerator</Generator>
  47. <LastGenOutput>QbservableEx.NAry.cs</LastGenOutput>
  48. </None>
  49. </ItemGroup>
  50. <ItemGroup Condition="$(TargetFramework.StartsWith('uap10.0'))">
  51. <Compile Include="Obsolete\UWP\**\*.cs" />
  52. <Compile Include="..\..\src\System.Reactive.For.Uwp\Stubs.cs" Link="Obsolete\UWP\Stubs.cs" />
  53. <Compile Include="..\..\src\System.Reactive.For.Uwp\ThreadPoolTimerExtensions.cs" Link="Obsolete\UWP\Concurrency\ThreadPoolTimerExtensions.cs" />
  54. </ItemGroup>
  55. <!-- WindowsRuntime (netX.0-windows and UWP) -->
  56. <ItemGroup Condition=" $(TargetFramework.StartsWith('uap10.0')) or $(TargetFramework.StartsWith('net6.0-windows')) or $(TargetFramework.StartsWith('net7.0-windows'))">
  57. <EmbeddedResource Include="Obsolete\UWP\Strings_PlatformServices.resx" />
  58. <Compile Include="..\..\src\System.Reactive.For.WindowsRuntime\AsyncInfoExtensions.cs" Link="Obsolete\UWP\AsyncInfoExtensions.cs" />
  59. <ProjectReference Include="..\..\src\System.Reactive.For.WindowsRuntime\System.Reactive.For.WindowsRuntime.csproj" />
  60. </ItemGroup>
  61. <!-- Windows Forms -->
  62. <ItemGroup Condition="'$(TargetFramework)' == 'net472' or $(TargetFramework.StartsWith('net6.0-windows')) or $(TargetFramework.StartsWith('net8.0-windows')) or $(TargetFramework.StartsWith('net9.0-windows'))">
  63. <ProjectReference Include="..\..\src\System.Reactive.For.WindowsForms\System.Reactive.For.WindowsForms.csproj" />
  64. </ItemGroup>
  65. <!-- Windows includes for Desktop and UWP -->
  66. <ItemGroup Condition=" '$(TargetFramework)' == 'net472' or $(TargetFramework.StartsWith('uap10.0')) or $(TargetFramework.StartsWith('net6.0-windows')) or $(TargetFramework.StartsWith('net7.0-windows'))">
  67. <Compile Include="Obsolete\Windows\**\*.cs" />
  68. <EmbeddedResource Include="Obsolete\Windows\**\*.resx" />
  69. </ItemGroup>
  70. <!-- .NET FX -->
  71. <ItemGroup Condition=" '$(TargetFramework)' == 'net472'">
  72. <Reference Include="System.Windows" />
  73. <Reference Include="System.Windows.Forms" />
  74. <Reference Include="WindowsBase" />
  75. <Compile Include="Obsolete\Remoting\**\*.cs" />
  76. </ItemGroup>
  77. <ItemGroup Condition=" '$(TargetFramework)' == 'net472' or $(TargetFramework.StartsWith('net6.0-windows')) or $(TargetFramework.StartsWith('net7.0-windows'))">
  78. <Compile Include="Obsolete\Desktop\**\*.cs" />
  79. </ItemGroup>
  80. <ItemGroup>
  81. <ProjectReference Include="..\..\src\System.Reactive.Net\System.Reactive.Net.csproj">
  82. <Aliases>SystemReactiveNet</Aliases>
  83. </ProjectReference>
  84. <ProjectReference Condition="('$(TargetFramework)' == 'net472') or $(TargetFramework.StartsWith('net6.0-windows'))" Include="..\..\src\System.Reactive.For.WindowsForms\System.Reactive.For.WindowsForms.csproj" />
  85. </ItemGroup>
  86. <ItemGroup Condition="'$(TargetFramework)'=='uap10.0.18362'">
  87. <ReferencePath Include="$(TargetPlatformSdkPath)UnionMetadata\10.0.19041.0\Windows.winmd" />
  88. </ItemGroup>
  89. <ItemGroup>
  90. <Folder Include="Obsolete\UWP\Linq\" />
  91. </ItemGroup>
  92. </Project>