System.Reactive.csproj 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  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="Linq\QbservableEx.NAry.tt">
  26. <Generator>TextTemplatingFileGenerator</Generator>
  27. <LastGenOutput>QbservableEx.NAry.cs</LastGenOutput>
  28. </None>
  29. <None Update="Platforms\Windows\Strings_WindowsThreading.Designer.cs" DesignTime="True" AutoGen="True" DependentUpon="Strings_WindowsThreading.resx" />
  30. <None Update="Platforms\Windows\Strings_WindowsThreading.resx" CustomToolNamespace="System.Reactive" Generator="ResXFileCodeGenerator" LastGenOutput="Strings_WindowsThreading.Designer.cs" />
  31. </ItemGroup>
  32. <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
  33. <PackageReference Include="System.Runtime.InteropServices.WindowsRuntime" Version="4.3.0" />
  34. </ItemGroup>
  35. <!-- UWP -->
  36. <ItemGroup Condition=" '$(TargetFramework)' == 'uap10.0' ">
  37. <PackageReference Include="System.ValueTuple" Version="4.5.0" />
  38. <PackageReference Include="System.ComponentModel" Version="4.0.1" />
  39. <PackageReference Include="System.Dynamic.Runtime" Version="4.3.0" />
  40. <PackageReference Include="System.Linq.Queryable" Version="4.0.1" />
  41. </ItemGroup>
  42. <ItemGroup Condition=" $(TargetFramework.StartsWith('uap10.0')) or $(TargetFramework.StartsWith('net5.0-windows'))">
  43. <Compile Include="Platforms\UWP\**\*.cs" />
  44. </ItemGroup>
  45. <!-- Windows includes for Desktop and UWP -->
  46. <ItemGroup Condition=" '$(TargetFramework)' == 'net472' or $(TargetFramework.StartsWith('uap10.0')) or '$(TargetFramework)' == 'netcoreapp3.1' or $(TargetFramework.StartsWith('net5.0-windows'))">
  47. <Compile Include="Platforms\Windows\**\*.cs" />
  48. <EmbeddedResource Include="Platforms\Windows\**\*.resx" />
  49. </ItemGroup>
  50. <!-- Desktop -->
  51. <ItemGroup Condition=" '$(TargetFramework)' == 'net472'">
  52. <Reference Include="System.Windows" />
  53. <Reference Include="System.Windows.Forms" />
  54. <Reference Include="WindowsBase" />
  55. </ItemGroup>
  56. <ItemGroup Condition=" '$(TargetFramework)' == 'net472' or '$(TargetFramework)' == 'netcoreapp3.1' or $(TargetFramework.StartsWith('net5.0-windows'))">
  57. <Compile Include="Platforms\Desktop\**\*.cs" />
  58. </ItemGroup>
  59. <!-- Designer support -->
  60. <ItemGroup>
  61. <Compile Update="Linq\IQueryLanguage.NAry.cs">
  62. <DesignTime>True</DesignTime>
  63. <AutoGen>True</AutoGen>
  64. <DependentUpon>IQueryLanguage.NAry.tt</DependentUpon>
  65. </Compile>
  66. <Compile Update="Joins\Pattern.Generated.cs">
  67. <DesignTime>True</DesignTime>
  68. <AutoGen>True</AutoGen>
  69. <DependentUpon>Pattern.tt</DependentUpon>
  70. </Compile>
  71. <Compile Update="Joins\QueryablePattern.Generated.cs">
  72. <DesignTime>True</DesignTime>
  73. <AutoGen>True</AutoGen>
  74. <DependentUpon>QueryablePattern.tt</DependentUpon>
  75. </Compile>
  76. <Compile Update="Linq\Observable\CombineLatest.NAry.cs">
  77. <DesignTime>True</DesignTime>
  78. <AutoGen>True</AutoGen>
  79. <DependentUpon>CombineLatest.NAry.tt</DependentUpon>
  80. </Compile>
  81. <Compile Update="Linq\Observable\Zip.NAry.cs">
  82. <DesignTime>True</DesignTime>
  83. <AutoGen>True</AutoGen>
  84. <DependentUpon>Zip.NAry.tt</DependentUpon>
  85. </Compile>
  86. <Compile Update="Linq\Observable.Multiple.CombineLatest.cs">
  87. <DesignTime>True</DesignTime>
  88. <AutoGen>True</AutoGen>
  89. <DependentUpon>Observable.Multiple.CombineLatest.tt</DependentUpon>
  90. </Compile>
  91. <Compile Update="Linq\Observable.Multiple.Zip.cs">
  92. <DesignTime>True</DesignTime>
  93. <AutoGen>True</AutoGen>
  94. <DependentUpon>Observable.Multiple.Zip.tt</DependentUpon>
  95. </Compile>
  96. <Compile Update="Linq\QbservableEx.NAry.cs">
  97. <DesignTime>True</DesignTime>
  98. <AutoGen>True</AutoGen>
  99. <DependentUpon>QbservableEx.NAry.tt</DependentUpon>
  100. </Compile>
  101. <Compile Update="Linq\QueryLanguage.Multiple.CombineLatest.cs">
  102. <DesignTime>True</DesignTime>
  103. <AutoGen>True</AutoGen>
  104. <DependentUpon>QueryLanguage.Multiple.CombineLatest.tt</DependentUpon>
  105. </Compile>
  106. <Compile Update="Linq\QueryLanguage.Multiple.Zip.cs">
  107. <DesignTime>True</DesignTime>
  108. <AutoGen>True</AutoGen>
  109. <DependentUpon>QueryLanguage.Multiple.Zip.tt</DependentUpon>
  110. </Compile>
  111. <None Update="Linq\IQueryLanguage.NAry.tt">
  112. <Generator>TextTemplatingFileGenerator</Generator>
  113. <LastGenOutput>IQueryLanguage.NAry.cs</LastGenOutput>
  114. </None>
  115. <None Update="Joins\Pattern.tt">
  116. <Generator>TextTemplatingFileGenerator</Generator>
  117. <LastGenOutput>Pattern.Generated.cs</LastGenOutput>
  118. </None>
  119. <None Update="Joins\QueryablePattern.tt">
  120. <Generator>TextTemplatingFileGenerator</Generator>
  121. <LastGenOutput>QueryablePattern.Generated.cs</LastGenOutput>
  122. </None>
  123. <None Update="Linq\Observable\CombineLatest.NAry.tt">
  124. <Generator>TextTemplatingFileGenerator</Generator>
  125. <LastGenOutput>CombineLatest.NAry.cs</LastGenOutput>
  126. </None>
  127. <None Update="Linq\Observable\Zip.NAry.tt">
  128. <Generator>TextTemplatingFileGenerator</Generator>
  129. <LastGenOutput>Zip.NAry.cs</LastGenOutput>
  130. </None>
  131. <None Update="Linq\Observable.Multiple.CombineLatest.tt">
  132. <Generator>TextTemplatingFileGenerator</Generator>
  133. <LastGenOutput>Observable.Multiple.CombineLatest.cs</LastGenOutput>
  134. </None>
  135. <None Update="Linq\Observable.Multiple.Zip.tt">
  136. <Generator>TextTemplatingFileGenerator</Generator>
  137. <LastGenOutput>Observable.Multiple.Zip.cs</LastGenOutput>
  138. </None>
  139. <None Update="Linq\QueryLanguage.Multiple.CombineLatest.tt">
  140. <Generator>TextTemplatingFileGenerator</Generator>
  141. <LastGenOutput>QueryLanguage.Multiple.CombineLatest.cs</LastGenOutput>
  142. </None>
  143. <None Update="Linq\QueryLanguage.Multiple.Zip.tt">
  144. <LastGenOutput>QueryLanguage.Multiple.Zip.cs</LastGenOutput>
  145. <Generator>TextTemplatingFileGenerator</Generator>
  146. </None>
  147. </ItemGroup>
  148. <PropertyGroup>
  149. <TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);RemoveNetCoreApp3FromNuGet</TargetsForTfmSpecificBuildOutput>
  150. <TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);AddNetCore3ToNuGet</TargetsForTfmSpecificContentInPackage>
  151. </PropertyGroup>
  152. <!-- We remove the output from the nuget so it doesn't wind up in the \lib folder -->
  153. <Target Name="RemoveNetCoreApp3FromNuGet" DependsOnTargets="BuiltProjectOutputGroup;DocumentationProjectOutputGroup" Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
  154. <ItemGroup>
  155. <!-- Before clearing the output groups, add them to None for packing -->
  156. <ItemsToAddToNuGet Include="@(BuiltProjectOutputGroupOutput);@(DocumentationProjectOutputGroupOutput)" PackagePath="build\netcoreapp3.1" />
  157. <BuiltProjectOutputGroupOutput Remove="@(BuiltProjectOutputGroupOutput)" />
  158. <DocumentationProjectOutputGroupOutput Remove="@(DocumentationProjectOutputGroupOutput)" />
  159. </ItemGroup>
  160. </Target>
  161. <Target Name="AddNetCore3ToNuGet" Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
  162. <ItemGroup>
  163. <!-- Add the removed build output to the build\netcoreapp3.0 folder -->
  164. <TfmSpecificPackageFileWithRecursiveDir Include="@(ItemsToAddToNuGet)" PackagePath="build\netcoreapp3.1" />
  165. </ItemGroup>
  166. </Target>
  167. <ItemGroup>
  168. <None Include="build\_._" PackagePath="lib\netcoreapp3.1" Pack="true" />
  169. <None Include="build\_._" PackagePath="build\net5.0" Pack="true" />
  170. <None Include="build\_._" PackagePath="buildTransitive\net5.0" Pack="true" />
  171. <None Include="build\System.Reactive.targets" PackagePath="buildTransitive\netcoreapp3.1" Pack="true" />
  172. <None Include="build\System.Reactive.targets" PackagePath="build\netcoreapp3.1" Pack="true" />
  173. <None Include="Linq\QbservableEx.NAry.cs">
  174. <DesignTime>True</DesignTime>
  175. <AutoGen>True</AutoGen>
  176. <DependentUpon>QbservableEx.NAry.tt</DependentUpon>
  177. </None>
  178. </ItemGroup>
  179. <ItemGroup>
  180. <Service Include="{508349b6-6b84-4df5-91f0-309beebad82d}" />
  181. </ItemGroup>
  182. </Project>