<Project>
  <PropertyGroup>
    <BaseIntermediateOutputPath>$(SolutionDir)build\$(MSBuildProjectName).build\</BaseIntermediateOutputPath>
  </PropertyGroup>
  <Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), build.common.props))/build.common.props" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <OutputType>Library</OutputType>
    <ProjectName>winfsp.net</ProjectName>
    <RootNamespace>Fsp</RootNamespace>
    <AssemblyName>$(MyProductFileName)-msil</AssemblyName>
    <TargetFrameworks>netstandard2.0;net35</TargetFrameworks>
    <FileAlignment>512</FileAlignment>
    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
  </PropertyGroup>
  <PropertyGroup Condition="'$(TargetFramework)' != 'netstandard2.0'">
    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
    <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>$(SolutionDir)build\$(Configuration)\</OutputPath>
    <IntermediateOutputPath>$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <DocumentationFile>$(BaseIntermediateOutputPath)$(Configuration)\$(MyProductFileName)-msil.xml</DocumentationFile>
    <NoWarn>1591</NoWarn>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>$(SolutionDir)build\$(Configuration)\</OutputPath>
    <IntermediateOutputPath>$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <DocumentationFile>$(BaseIntermediateOutputPath)$(Configuration)\$(MyProductFileName)-msil.xml</DocumentationFile>
    <NoWarn>1591</NoWarn>
  </PropertyGroup>
  <PropertyGroup>
    <SignAssembly>true</SignAssembly>
  </PropertyGroup>
  <PropertyGroup>
    <AssemblyOriginatorKeyFile>winfsp.net.snk</AssemblyOriginatorKeyFile>
  </PropertyGroup>
  <ItemGroup>
    <Compile Include="..\..\..\src\dotnet\FileSystemBase+Const.cs">
      <Link>FileSystemBase+Const.cs</Link>
    </Compile>
    <Compile Include="..\..\..\src\dotnet\FileSystemBase.cs">
      <Link>FileSystemBase.cs</Link>
    </Compile>
    <Compile Include="..\..\..\src\dotnet\FileSystemHost.cs">
      <Link>FileSystemHost.cs</Link>
    </Compile>
    <Compile Include="..\..\..\src\dotnet\Interop.cs">
      <Link>Interop.cs</Link>
    </Compile>
    <Compile Include="..\..\..\src\dotnet\Service.cs">
      <Link>Service.cs</Link>
    </Compile>
  </ItemGroup>
  <ItemGroup>
    <None Include="winfsp.net.snk" />
  </ItemGroup>
  <ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
    <PackageReference Include="Microsoft.Win32.Registry">
      <Version>5.0.0</Version>
    </PackageReference>
    <PackageReference Include="System.IO.FileSystem.AccessControl">
      <Version>5.0.0</Version>
    </PackageReference>
  </ItemGroup>
  <PropertyGroup>
    <AssemblyName>$(MyProductFileName)-msil</AssemblyName>
    <AssemblyTitle>$(MyDescription)</AssemblyTitle>
    <Product>$(MyProductName)</Product>
    <Copyright>$(MyCopyright)</Copyright>
    <AssemblyVersion>$(MyAssemblyVersion)</AssemblyVersion>
    <FileVersion>$(MyVersion)</FileVersion>
    <!-- NuGet metadata -->
    <PackageId>$(MyProductFileName).net</PackageId>
    <Version>$(MyVersion)</Version>
    <Description>$(MyDescription)</Description>
    <Authors>$(MyCopyright)</Authors>
    <Company>$(MyCompanyName)</Company>
  </PropertyGroup>
  <PropertyGroup>
    <PostBuildEvent>exit /b 0

set TargetName=$(TargetName)
set MyAssemblyPolicyVersion=$(MyAssemblyPolicyVersion)
set MyAssemblyVersion=$(MyAssemblyVersion)

setlocal EnableDelayedExpansion
if exist $(OutDir)policy.$(MyAssemblyPolicyVersion).$(TargetName).config del $(OutDir)policy.$(MyAssemblyPolicyVersion).$(TargetName).config
for /f "delims=" %25%25l in ($(ProjectDir)winfsp.net.policy.config) do (
    set line=%25%25l
    echo !line! &gt;&gt;$(OutDir)policy.$(MyAssemblyPolicyVersion).$(TargetName).config
)

"$(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.0A\Bin\al.exe" /product:"$(MyProductName)" /title:"$(MyDescription)" /company:"$(MyCompanyName)" /copyright:"$(MyCopyright)" /version:"$(MyAssemblyPolicyVersion)" /fileversion:"$(MyVersion)" /link:$(OutDir)policy.$(MyAssemblyPolicyVersion).$(TargetName).config /out:$(OutDir)policy.$(MyAssemblyPolicyVersion).$(TargetName).dll /keyfile:$(ProjectDir)$(ProjectName).snk
</PostBuildEvent>
  </PropertyGroup>
  <Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>