System.Reactive.csproj 5.8 KB

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