| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- <Project Sdk="Microsoft.NET.Sdk">
- <PropertyGroup>
- <TargetFrameworks>netstandard2.0;net472;uap10.0.18362;net8.0;net8.0-windows10.0.19041</TargetFrameworks>
- <Nullable>enable</Nullable>
- <!--
- We seem to get spurious CA1812 warnings (internal class apparently never instantiated. The same code compiles
- without warnings when built as a normal library, so this seems to be an issue with the refernce assembly build.
- -->
- <NoWarn>$(NoWarn);CA1812</NoWarn>
- <DefineConstants>$(DefineConstants);LEGACY_SYSTEM_REACTIVE_FACADE;BUILDING_REFERENCE_ASSEMBLY</DefineConstants>
- <ProduceOnlyReferenceAssembly>true</ProduceOnlyReferenceAssembly>
- <TargetName>System.Reactive</TargetName>
- </PropertyGroup>
- <ItemGroup>
- <!--
- See comments in System.Reactive for explanation of this and the
- PropertyGroup that follows.
- -->
- <Compile Remove="..\GlobalAssemblyVersion.cs" Link="GlobalAssemblyVersion.cs" />
- </ItemGroup>
- <PropertyGroup>
- <!-- Re-instate the normal versioning behaviour. -->
- <GenerateAssemblyVersionAttribute>true</GenerateAssemblyVersionAttribute>
- <GenerateAssemblyVersionInfo>true</GenerateAssemblyVersionInfo>
- </PropertyGroup>
- <ItemGroup>
- <Compile Include="..\System.Reactive\**\*.cs" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder);..\System.Reactive\obj\**\*;..\System.Reactive\bin\**\*" />
- <Compile Remove="..\System.Reactive\Obsolete\**\*.*" />
- <!-- Workaround so the files appear in VS -->
- <None Include="..\System.Reactive\Obsolete\**\*.*" />
- </ItemGroup>
- <ItemGroup Condition="$(TargetFramework.StartsWith('uap10.0'))">
- <Compile Include="..\System.Reactive\Obsolete\UWP\**\*.cs" />
- <Compile Include="..\..\src\System.Reactive.For.Uwp\Stubs.cs" Link="Obsolete\UWP\Stubs.cs" />
- <Compile Include="..\..\src\System.Reactive.For.Uwp\ThreadPoolTimerExtensions.cs" Link="Obsolete\UWP\Concurrency\ThreadPoolTimerExtensions.cs" />
- </ItemGroup>
- <!-- Windows includes for Desktop and UWP -->
- <ItemGroup Condition=" '$(TargetFramework)' == 'net472' or $(TargetFramework.StartsWith('uap10.0')) or $(TargetFramework.StartsWith('net8.0-windows')) or $(TargetFramework.StartsWith('net9.0-windows'))">
- <Compile Include="..\System.Reactive\Obsolete\Windows\**\*.cs" />
- <EmbeddedResource Include="..\System.Reactive\Obsolete\Windows\**\*.resx" />
- </ItemGroup>
- <!-- .NET FX -->
- <ItemGroup Condition=" '$(TargetFramework)' == 'net472'">
- <Reference Include="System.Windows" />
- <Reference Include="System.Windows.Forms" />
- <Reference Include="WindowsBase" />
-
- <Compile Include="..\System.Reactive\Obsolete\Remoting\**\*.cs" />
- </ItemGroup>
- <ItemGroup Condition=" '$(TargetFramework)' == 'net472' or $(TargetFramework.StartsWith('net8.0-windows')) or $(TargetFramework.StartsWith('net9.0-windows'))">
- <Compile Include="..\System.Reactive\Obsolete\Desktop\**\*.cs" />
- </ItemGroup>
- <!-- WindowsRuntime (netX.0-windows and UWP) -->
- <ItemGroup Condition="$(TargetFramework.StartsWith('uap10.0')) or $(TargetFramework.StartsWith('net8.0-windows')) or $(TargetFramework.StartsWith('net9.0-windows'))">
- <ProjectReference Include="..\..\src\System.Reactive.For.WindowsRuntime\System.Reactive.For.WindowsRuntime.csproj" />
- </ItemGroup>
- <!-- Windows Forms and WPF -->
- <ItemGroup Condition="('$(TargetFramework)' == 'net472') or $(TargetFramework.StartsWith('net8.0-windows')) or $(TargetFramework.StartsWith('net9.0-windows'))">
- <ProjectReference Include="..\..\src\System.Reactive.For.WindowsForms\System.Reactive.For.WindowsForms.csproj" />
- <ProjectReference Include="..\..\src\System.Reactive.For.Wpf\System.Reactive.For.Wpf.csproj" />
- </ItemGroup>
- <ItemGroup Condition="'$(TargetFramework)'=='uap10.0.18362'">
- <!--
- The .NET SDK doesn't expect TargetFrameworks to include uap10.0.18362, so it doesn't understand
- that this project is capable of using projects that target .NET Standard 2.0, with the result
- that it reports an error when trying to resolve the reference to System.Reactive.Net. So
- when building for UWP, we explicitly set the target framework here.
- -->
- <ProjectReference Include="..\..\src\System.Reactive.Net\System.Reactive.Net.csproj">
- <Aliases>SystemReactiveNet</Aliases>
- <SetTargetFramework>TargetFramework=netstandard2.0</SetTargetFramework>
- </ProjectReference>
- </ItemGroup>
- <ItemGroup Condition="'$(TargetFramework)'!='uap10.0.18362'">
- <ProjectReference Include="..\..\src\System.Reactive.Net\System.Reactive.Net.csproj">
- <Aliases>SystemReactiveNet</Aliases>
- </ProjectReference>
- </ItemGroup>
- <ItemGroup Condition="'$(TargetFramework)'=='uap10.0.18362'">
- <ReferencePath Include="$(TargetPlatformSdkPath)UnionMetadata\10.0.19041.0\Windows.winmd" />
- </ItemGroup>
- </Project>
|