<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net7.0-windows</TargetFramework> <Configurations>Debug;Release</Configurations> <Platforms>x86</Platforms> <RuntimeIdentifier>win7-x86</RuntimeIdentifier> <LangVersion>11</LangVersion> <Nullable>enable</Nullable> </PropertyGroup> <PropertyGroup> <OutputType>WinExe</OutputType> <UseWindowsForms>true</UseWindowsForms> <RootNamespace>TweetDuck</RootNamespace> <AssemblyName>TweetDuck</AssemblyName> <AppDesignerFolder>Properties</AppDesignerFolder> <ApplicationIcon>Resources\Images\icon.ico</ApplicationIcon> </PropertyGroup> <PropertyGroup> <SelfContained>true</SelfContained> <GenerateAssemblyInfo>false</GenerateAssemblyInfo> <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath> <SatelliteResourceLanguages>en</SatelliteResourceLanguages> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> <StartArguments>-datafolder TweetDuckDebug</StartArguments> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> <DebugSymbols>true</DebugSymbols> <DebugType>none</DebugType> </PropertyGroup> <ItemGroup> <PackageReference Include="CefSharp.WinForms.NETCore" Version="105.3.330" /> </ItemGroup> <ItemGroup> <ProjectReference Include="..\..\lib\TweetLib.Browser.CEF\TweetLib.Browser.CEF.csproj" /> <ProjectReference Include="..\..\lib\TweetLib.Browser\TweetLib.Browser.csproj" /> <ProjectReference Include="..\..\lib\TweetLib.Communication\TweetLib.Communication.csproj" /> <ProjectReference Include="..\..\lib\TweetLib.Core\TweetLib.Core.csproj" /> <ProjectReference Include="..\..\lib\TweetLib.Utils\TweetLib.Utils.csproj" /> <ProjectReference Include="..\TweetDuck.Browser\TweetDuck.Browser.csproj" /> <ProjectReference Include="..\TweetDuck.Video\TweetDuck.Video.csproj" /> <ProjectReference Include="..\TweetImpl.CefSharp\TweetImpl.CefSharp.csproj" /> <ProjectReference Include="..\TweetLib.WinForms.Legacy\TweetLib.WinForms.Legacy.csproj" /> </ItemGroup> <ItemGroup> <Compile Include="..\..\Version.cs" Link="Version.cs" /> </ItemGroup> <ItemGroup> <None Include="app.config" /> <None Include="Resources\Images\icon-muted.ico" /> <None Include="Resources\Images\icon-small.ico" /> <None Include="Resources\Images\icon-tray-muted.ico" /> <None Include="Resources\Images\icon-tray-new.ico" /> <None Include="Resources\Images\icon-tray.ico" /> <None Include="Resources\Images\icon.ico" /> <None Include="Resources\PostBuild.ps1" /> <None Include="$(SolutionDir)README.md"> <Link>Resources\README.md</Link> </None> <Compile Remove="Resources\Utilities\CompareStylesheets.cs" /> <None Include="Resources\Utilities\CompareStylesheets.cs" /> </ItemGroup> <ItemGroup> <ResourcesContent Include="$(SolutionDir)resources\Content\**\*.*" Visible="false" /> <ResourcesGuide Include="$(SolutionDir)resources\Guide\**\*.*" Visible="false" /> <ResourcesPlugins Include="$(SolutionDir)resources\Plugins\**\*.*" Visible="false" /> <ResourcesPlugins Remove="$(SolutionDir)resources\Plugins\.debug\**\*.*" /> <ResourcesPlugins Remove="$(SolutionDir)resources\Plugins\emoji-keyboard\emoji-instructions.txt" /> <ResourcesPluginsDebug Include="$(SolutionDir)resources\Plugins\.debug\**\*.*" Visible="false" /> </ItemGroup> <PropertyGroup> <PreBuildEvent>powershell -NoProfile -Command "$ErrorActionPreference = 'SilentlyContinue'; (Get-Process TweetDuck.Browser | Where-Object {$_.Path -eq '$(TargetDir)TweetDuck.Browser.exe'}).Kill(); Exit 0"</PreBuildEvent> </PropertyGroup> <Target Name="CopyResources" AfterTargets="Build"> <ItemGroup> <LocalesToDelete Include="$(TargetDir)locales\*.pak" Exclude="$(TargetDir)locales\en-US.pak" Visible="false" /> </ItemGroup> <ItemGroup> <!-- WinForms --> <DllsToDelete Include="$(TargetDir)System.Windows.Controls.Ribbon.dll" Visible="false" /> <DllsToDelete Include="$(TargetDir)System.Windows.Forms.Design.dll" Visible="false" /> <DllsToDelete Include="$(TargetDir)System.Windows.Forms.Design.Editors.dll" Visible="false" /> <!-- WPF --> <DllsToDelete Include="$(TargetDir)D3DCompiler_47_cor3.dll" Visible="false" /> <DllsToDelete Include="$(TargetDir)DirectWriteForwarder.dll" Visible="false" /> <DllsToDelete Include="$(TargetDir)PenImc_cor3.dll" Visible="false" /> <DllsToDelete Include="$(TargetDir)PresentationCore.dll" Visible="false" /> <DllsToDelete Include="$(TargetDir)PresentationFramework*.dll" Visible="false" /> <DllsToDelete Include="$(TargetDir)PresentationNative_cor3.dll" Visible="false" /> <DllsToDelete Include="$(TargetDir)PresentationUI.dll" Visible="false" /> <DllsToDelete Include="$(TargetDir)ReachFramework.dll" Visible="false" /> <DllsToDelete Include="$(TargetDir)System.Xaml.dll" Visible="false" /> <DllsToDelete Include="$(TargetDir)System.Windows.Input.Manipulations.dll" Visible="false" /> <DllsToDelete Include="$(TargetDir)UIAutomation*.dll" Visible="false" /> <DllsToDelete Include="$(TargetDir)vcruntime140_cor3.dll" Visible="false" /> <DllsToDelete Include="$(TargetDir)WindowsBase.dll" Visible="false" /> <DllsToDelete Include="$(TargetDir)WindowsFormsIntegration.dll" Visible="false" /> <DllsToDelete Include="$(TargetDir)wpfgfx_cor3.dll" Visible="false" /> </ItemGroup> <Delete Files="@(LocalesToDelete)" /> <Delete Files="@(DllsToDelete)" /> <RemoveDir Directories="$(TargetDir)resources" /> <RemoveDir Directories="$(TargetDir)guide" /> <RemoveDir Directories="$(TargetDir)plugins" /> <MakeDir Directories="$(TargetDir)plugins\official" /> <MakeDir Directories="$(TargetDir)plugins\user" /> <Copy SourceFiles="@(ResourcesContent)" DestinationFiles="@(ResourcesContent->'$(TargetDir)\resources\%(RecursiveDir)%(Filename)%(Extension)')" /> <Copy SourceFiles="@(ResourcesGuide)" DestinationFiles="@(ResourcesGuide->'$(TargetDir)\guide\%(RecursiveDir)%(Filename)%(Extension)')" /> <Copy SourceFiles="@(ResourcesPlugins)" DestinationFiles="@(ResourcesPlugins->'$(TargetDir)\plugins\official\%(RecursiveDir)%(Filename)%(Extension)')" /> <Exec Command="powershell -NoProfile -ExecutionPolicy Unrestricted -File "$(ProjectDir)Resources\PostBuild.ps1" "$(TargetDir)\"" IgnoreExitCode="false" /> </Target> <Target Name="FinalizeDebug" AfterTargets="CopyResources" Condition="$(ConfigurationName) == Debug"> <Copy SourceFiles="@(ResourcesPluginsDebug)" DestinationFiles="@(ResourcesPluginsDebug->'$(TargetDir)\plugins\user\.debug\%(RecursiveDir)%(Filename)%(Extension)')" /> </Target> <Target Name="FinalizeRelease" AfterTargets="CopyResources" Condition="$(ConfigurationName) == Release"> <ItemGroup> <PdbFiles Include="$(TargetDir)*.pdb" Visible="false" /> <XmlFiles Include="$(TargetDir)*.xml" Visible="false" /> <TxtFiles Include="$(TargetDir)*.txt" Visible="false" /> </ItemGroup> <Delete Files="$(TargetDir)CefSharp.BrowserSubprocess.exe" /> <Delete Files="$(TargetDir)widevinecdmadapter.dll" /> <Delete Files="@(PdbFiles)" /> <Delete Files="@(XmlFiles)" /> <Delete Files="@(TxtFiles)" /> <Copy SourceFiles="$(SolutionDir)bld\Resources\LICENSES.txt" DestinationFolder="$(TargetDir)" /> <Exec Command="start "" /B "ISCC.exe" /Q "$(SolutionDir)bld\gen_upd.iss"" WorkingDirectory="$(SolutionDir)bld\" IgnoreExitCode="true" /> </Target> </Project>