diff --git a/Management/VideoPlayer.cs b/Management/VideoPlayer.cs
index 87e55c14..30daf427 100644
--- a/Management/VideoPlayer.cs
+++ b/Management/VideoPlayer.cs
@@ -7,7 +7,7 @@
 using TweetDuck.Controls;
 using TweetDuck.Dialogs;
 using TweetDuck.Utils;
-using TweetLib.Communication;
+using TweetLib.Communication.Pipe;
 
 namespace TweetDuck.Management {
 	sealed class VideoPlayer : IDisposable {
diff --git a/lib/TweetLib.Communication/Lib.cs b/lib/TweetLib.Communication/Lib.cs
new file mode 100644
index 00000000..bc144f98
--- /dev/null
+++ b/lib/TweetLib.Communication/Lib.cs
@@ -0,0 +1,5 @@
+using System.Reflection;
+
+[assembly: AssemblyTitle("TweetDuck Communication Library")]
+[assembly: AssemblyDescription("TweetDuck Communication Library")]
+[assembly: AssemblyProduct("TweetLib.Communication")]
diff --git a/lib/TweetLib.Communication/DuplexPipe.cs b/lib/TweetLib.Communication/Pipe/DuplexPipe.cs
similarity index 98%
rename from lib/TweetLib.Communication/DuplexPipe.cs
rename to lib/TweetLib.Communication/Pipe/DuplexPipe.cs
index 7eba06a3..e597a7fa 100644
--- a/lib/TweetLib.Communication/DuplexPipe.cs
+++ b/lib/TweetLib.Communication/Pipe/DuplexPipe.cs
@@ -3,7 +3,7 @@
 using System.IO.Pipes;
 using System.Threading;
 
-namespace TweetLib.Communication {
+namespace TweetLib.Communication.Pipe {
 	public abstract class DuplexPipe : IDisposable {
 		private const string Separator = "\x1F";
 
diff --git a/lib/TweetLib.Communication/Properties/AssemblyInfo.cs b/lib/TweetLib.Communication/Properties/AssemblyInfo.cs
deleted file mode 100644
index 412609c6..00000000
--- a/lib/TweetLib.Communication/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("TweetDuck Communication Library")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("TweetDuck Communication Library")]
-[assembly: AssemblyCopyright("")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components.  If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("72473763-4b9d-4fb6-a923-9364b2680f06")]
diff --git a/lib/TweetLib.Communication/TweetLib.Communication.csproj b/lib/TweetLib.Communication/TweetLib.Communication.csproj
index 31bb09a1..89f168c2 100644
--- a/lib/TweetLib.Communication/TweetLib.Communication.csproj
+++ b/lib/TweetLib.Communication/TweetLib.Communication.csproj
@@ -1,59 +1,15 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="..\..\packages\Microsoft.Net.Compilers.3.0.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\..\packages\Microsoft.Net.Compilers.3.0.0\build\Microsoft.Net.Compilers.props')" />
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+<Project Sdk="Microsoft.NET.Sdk">
+
   <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
-    <ProjectGuid>{72473763-4B9D-4FB6-A923-9364B2680F06}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>TweetLib.Communication</RootNamespace>
-    <AssemblyName>TweetLib.Communication</AssemblyName>
-    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <Platforms>x86</Platforms>
     <LangVersion>8.0</LangVersion>
     <Nullable>enable</Nullable>
-    <FileAlignment>512</FileAlignment>
-    <NuGetPackageImportStamp>
-    </NuGetPackageImportStamp>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\x86\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <DebugType>full</DebugType>
-    <PlatformTarget>x86</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
-    <OutputPath>bin\x86\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <Optimize>true</Optimize>
-    <DebugType>none</DebugType>
-    <PlatformTarget>x86</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
   </PropertyGroup>
+
   <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Core" />
+    <Compile Include="..\..\Version.cs" Link="Version.cs" />
   </ItemGroup>
-  <ItemGroup>
-    <Compile Include="..\..\Version.cs">
-      <Link>Version.cs</Link>
-    </Compile>
-    <Compile Include="DuplexPipe.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="packages.config" />
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
-    <PropertyGroup>
-      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
-    </PropertyGroup>
-    <Error Condition="!Exists('..\..\packages\Microsoft.Net.Compilers.3.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Net.Compilers.3.0.0\build\Microsoft.Net.Compilers.props'))" />
-  </Target>
-</Project>
\ No newline at end of file
+
+</Project>
diff --git a/lib/TweetLib.Communication/packages.config b/lib/TweetLib.Communication/packages.config
deleted file mode 100644
index ae425812..00000000
--- a/lib/TweetLib.Communication/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<packages>
-  <package id="Microsoft.Net.Compilers" version="3.0.0" targetFramework="net472" developmentDependency="true" />
-</packages>
\ No newline at end of file
diff --git a/video/FormPlayer.cs b/video/FormPlayer.cs
index fb1b59af..f73ea9b8 100644
--- a/video/FormPlayer.cs
+++ b/video/FormPlayer.cs
@@ -5,7 +5,7 @@
 using System.Runtime.InteropServices;
 using System.Windows.Forms;
 using TweetDuck.Video.Controls;
-using TweetLib.Communication;
+using TweetLib.Communication.Pipe;
 using WMPLib;
 
 namespace TweetDuck.Video {