System.Reactive.csproj 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. <Project Sdk="MSBuild.Sdk.Extras">
  2. <PropertyGroup>
  3. <TargetFrameworks>netcoreapp3.1;netstandard2.0;net472;uap10.0.16299;net5.0;net5.0-windows10.0.19041</TargetFrameworks>
  4. <CopyLocalLockFileAssemblies>false</CopyLocalLockFileAssemblies>
  5. <PackageTags>Rx;Reactive;Extensions;Observable;LINQ;Events</PackageTags>
  6. <Description>Reactive Extensions (Rx) for .NET</Description>
  7. </PropertyGroup>
  8. <PropertyGroup>
  9. <Nullable>enable</Nullable>
  10. </PropertyGroup>
  11. <PropertyGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1' or $(TargetFramework.StartsWith('net5.0-windows'))">
  12. <UseWPF>true</UseWPF>
  13. <UseWindowsForms>true</UseWindowsForms>
  14. <IncludeBuildOutput Condition="'$(TargetFramework)' == 'netcoreapp3.1'">false</IncludeBuildOutput>
  15. </PropertyGroup>
  16. <ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
  17. <FrameworkReference Update="Microsoft.WindowsDesktop.App" PrivateAssets="all" />
  18. </ItemGroup>
  19. <ItemGroup>
  20. <Compile Remove="Platforms\**\*.*" />
  21. <EmbeddedResource Remove="Platforms\**\*.*" />
  22. <!-- Workaround so the files appear in VS -->
  23. <None Include="Platforms\**\*.*" />
  24. <Compile Include="..\AssemblyInfo.cs" Link="Properties\AssemblyInfo.cs" />
  25. <None Update="Platforms\Windows\Strings_WindowsThreading.Designer.cs" DesignTime="True" AutoGen="True" DependentUpon="Strings_WindowsThreading.resx" />
  26. <None Update="Platforms\Windows\Strings_WindowsThreading.resx" CustomToolNamespace="System.Reactive" Generator="ResXFileCodeGenerator" LastGenOutput="Strings_WindowsThreading.Designer.cs" />
  27. </ItemGroup>
  28. <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
  29. <PackageReference Include="System.Runtime.InteropServices.WindowsRuntime" Version="4.3.0" />
  30. </ItemGroup>
  31. <!-- UWP -->
  32. <ItemGroup Condition=" '$(TargetFramework)' == 'uap10.0' ">
  33. <PackageReference Include="System.ValueTuple" Version="4.5.0" />
  34. <PackageReference Include="System.ComponentModel" Version="4.0.1" />
  35. <PackageReference Include="System.Dynamic.Runtime" Version="4.0.11" />
  36. <PackageReference Include="System.Linq.Queryable" Version="4.0.1" />
  37. </ItemGroup>
  38. <ItemGroup Condition=" $(TargetFramework.StartsWith('uap10.0')) or $(TargetFramework.StartsWith('net5.0-windows'))">
  39. <Compile Include="Platforms\UWP\**\*.cs" />
  40. </ItemGroup>
  41. <!-- Windows includes for Desktop and UWP -->
  42. <ItemGroup Condition=" '$(TargetFramework)' == 'net472' or $(TargetFramework.StartsWith('uap10.0')) or '$(TargetFramework)' == 'netcoreapp3.1' or $(TargetFramework.StartsWith('net5.0-windows'))">
  43. <Compile Include="Platforms\Windows\**\*.cs" />
  44. <EmbeddedResource Include="Platforms\Windows\**\*.resx" />
  45. </ItemGroup>
  46. <!-- Desktop -->
  47. <ItemGroup Condition=" '$(TargetFramework)' == 'net472'">
  48. <Reference Include="System.Windows" />
  49. <Reference Include="System.Windows.Forms" />
  50. <Reference Include="WindowsBase" />
  51. </ItemGroup>
  52. <ItemGroup Condition=" '$(TargetFramework)' == 'net472' or '$(TargetFramework)' == 'netcoreapp3.1' or $(TargetFramework.StartsWith('net5.0-windows'))">
  53. <Compile Include="Platforms\Desktop\**\*.cs" />
  54. </ItemGroup>
  55. <!-- Designer support -->
  56. <ItemGroup>
  57. <Compile Update="Linq\IQueryLanguage.NAry.cs">
  58. <DesignTime>True</DesignTime>
  59. <AutoGen>True</AutoGen>
  60. <DependentUpon>IQueryLanguage.NAry.tt</DependentUpon>
  61. </Compile>
  62. <Compile Update="Joins\Pattern.Generated.cs">
  63. <DesignTime>True</DesignTime>
  64. <AutoGen>True</AutoGen>
  65. <DependentUpon>Pattern.tt</DependentUpon>
  66. </Compile>
  67. <Compile Update="Joins\QueryablePattern.Generated.cs">
  68. <DesignTime>True</DesignTime>
  69. <AutoGen>True</AutoGen>
  70. <DependentUpon>QueryablePattern.tt</DependentUpon>
  71. </Compile>
  72. <Compile Update="Linq\Observable\CombineLatest.NAry.cs">
  73. <DesignTime>True</DesignTime>
  74. <AutoGen>True</AutoGen>
  75. <DependentUpon>CombineLatest.NAry.tt</DependentUpon>
  76. </Compile>
  77. <Compile Update="Linq\Observable\Zip.NAry.cs">
  78. <DesignTime>True</DesignTime>
  79. <AutoGen>True</AutoGen>
  80. <DependentUpon>Zip.NAry.tt</DependentUpon>
  81. </Compile>
  82. <Compile Update="Linq\Observable.Multiple.CombineLatest.cs">
  83. <DesignTime>True</DesignTime>
  84. <AutoGen>True</AutoGen>
  85. <DependentUpon>Observable.Multiple.CombineLatest.tt</DependentUpon>
  86. </Compile>
  87. <Compile Update="Linq\Observable.Multiple.Zip.cs">
  88. <DesignTime>True</DesignTime>
  89. <AutoGen>True</AutoGen>
  90. <DependentUpon>Observable.Multiple.Zip.tt</DependentUpon>
  91. </Compile>
  92. <Compile Update="Linq\QueryLanguage.Multiple.CombineLatest.cs">
  93. <DesignTime>True</DesignTime>
  94. <AutoGen>True</AutoGen>
  95. <DependentUpon>QueryLanguage.Multiple.CombineLatest.tt</DependentUpon>
  96. </Compile>
  97. <Compile Update="Linq\QueryLanguage.Multiple.Zip.cs">
  98. <DesignTime>True</DesignTime>
  99. <AutoGen>True</AutoGen>
  100. <DependentUpon>QueryLanguage.Multiple.Zip.tt</DependentUpon>
  101. </Compile>
  102. <None Update="Linq\IQueryLanguage.NAry.tt">
  103. <Generator>TextTemplatingFileGenerator</Generator>
  104. <LastGenOutput>IQueryLanguage.NAry.cs</LastGenOutput>
  105. </None>
  106. <None Update="Joins\Pattern.tt">
  107. <Generator>TextTemplatingFileGenerator</Generator>
  108. <LastGenOutput>Pattern.Generated.cs</LastGenOutput>
  109. </None>
  110. <None Update="Joins\QueryablePattern.tt">
  111. <Generator>TextTemplatingFileGenerator</Generator>
  112. <LastGenOutput>QueryablePattern.Generated.cs</LastGenOutput>
  113. </None>
  114. <None Update="Linq\Observable\CombineLatest.NAry.tt">
  115. <Generator>TextTemplatingFileGenerator</Generator>
  116. <LastGenOutput>CombineLatest.NAry.cs</LastGenOutput>
  117. </None>
  118. <None Update="Linq\Observable\Zip.NAry.tt">
  119. <Generator>TextTemplatingFileGenerator</Generator>
  120. <LastGenOutput>Zip.NAry.cs</LastGenOutput>
  121. </None>
  122. <None Update="Linq\Observable.Multiple.CombineLatest.tt">
  123. <Generator>TextTemplatingFileGenerator</Generator>
  124. <LastGenOutput>Observable.Multiple.CombineLatest.cs</LastGenOutput>
  125. </None>
  126. <None Update="Linq\Observable.Multiple.Zip.tt">
  127. <Generator>TextTemplatingFileGenerator</Generator>
  128. <LastGenOutput>Observable.Multiple.Zip.cs</LastGenOutput>
  129. </None>
  130. <None Update="Linq\QueryLanguage.Multiple.CombineLatest.tt">
  131. <Generator>TextTemplatingFileGenerator</Generator>
  132. <LastGenOutput>QueryLanguage.Multiple.CombineLatest.cs</LastGenOutput>
  133. </None>
  134. <None Update="Linq\QueryLanguage.Multiple.Zip.tt">
  135. <LastGenOutput>QueryLanguage.Multiple.Zip.cs</LastGenOutput>
  136. <Generator>TextTemplatingFileGenerator</Generator>
  137. </None>
  138. </ItemGroup>
  139. <PropertyGroup>
  140. <TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);RemoveNetCoreApp3FromNuGet</TargetsForTfmSpecificBuildOutput>
  141. <TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);AddNetCore3ToNuGet</TargetsForTfmSpecificContentInPackage>
  142. </PropertyGroup>
  143. <!-- We remove the output from the nuget so it doesn't wind up in the \lib folder -->
  144. <Target Name="RemoveNetCoreApp3FromNuGet" DependsOnTargets="BuiltProjectOutputGroup;DocumentationProjectOutputGroup" Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
  145. <ItemGroup>
  146. <!-- Before clearing the output groups, add them to None for packing -->
  147. <ItemsToAddToNuGet Include="@(BuiltProjectOutputGroupOutput);@(DocumentationProjectOutputGroupOutput)" PackagePath="build\netcoreapp3.1" />
  148. <BuiltProjectOutputGroupOutput Remove="@(BuiltProjectOutputGroupOutput)" />
  149. <DocumentationProjectOutputGroupOutput Remove="@(DocumentationProjectOutputGroupOutput)" />
  150. </ItemGroup>
  151. </Target>
  152. <Target Name="AddNetCore3ToNuGet" Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
  153. <ItemGroup>
  154. <!-- Add the removed build output to the build\netcoreapp3.0 folder -->
  155. <TfmSpecificPackageFileWithRecursiveDir Include="@(ItemsToAddToNuGet)" PackagePath="build\netcoreapp3.1" />
  156. </ItemGroup>
  157. </Target>
  158. <ItemGroup>
  159. <None Include="build\_._" PackagePath="lib\netcoreapp3.1" Pack="true" />
  160. <None Include="build\_._" PackagePath="build\net5.0" Pack="true" />
  161. <None Include="build\_._" PackagePath="buildTransitive\net5.0" Pack="true" />
  162. <None Include="build\System.Reactive.targets" PackagePath="buildTransitive\netcoreapp3.1" Pack="true" />
  163. <None Include="build\System.Reactive.targets" PackagePath="build\netcoreapp3.1" Pack="true" />
  164. </ItemGroup>
  165. <ItemGroup>
  166. <Service Include="{508349b6-6b84-4df5-91f0-309beebad82d}" />
  167. </ItemGroup>
  168. </Project>