diff --git a/Build/Build.cmd b/Build/Build.cmd
index 8609e2a46..81a661e54 100644
--- a/Build/Build.cmd
+++ b/Build/Build.cmd
@@ -2,7 +2,7 @@
IF NOT EXIST ..\ConfuserEx.snk COPY ..\ConfuserEx_default.snk ..\ConfuserEx.snk
-%windir%\microsoft.net\framework\v4.0.30319\msbuild ..\Confuser2.sln /p:Configuration=Release "/p:Platform=Any CPU" /p:DefineConstants="%1"
+%windir%\microsoft.net\framework\v4.0.30319\msbuild ..\Confuser2.sln /p:Configuration=Release "/p:Platform=Any CPU"
IF %ERRORLEVEL% NEQ 0 GOTO err
diff --git a/Confuser.CLI/Confuser.CLI.csproj b/Confuser.CLI/Confuser.CLI.csproj
index 7f8c718e1..71b9cddaa 100644
--- a/Confuser.CLI/Confuser.CLI.csproj
+++ b/Confuser.CLI/Confuser.CLI.csproj
@@ -10,11 +10,12 @@
PropertiesConfuser.CLIConfuser.CLI
- v3.5
+ v4.0v4.5512..\true
+ AnyCPU
@@ -48,10 +49,6 @@
-
- True
- ..\packages\TaskParallelLibrary.1.0.2856.0\lib\Net35\System.Threading.dll
-
@@ -94,7 +91,6 @@
Properties\ConfuserEx.snk
-
diff --git a/Confuser.CLI/packages.config b/Confuser.CLI/packages.config
deleted file mode 100644
index a4c5e1d19..000000000
--- a/Confuser.CLI/packages.config
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/Confuser.Core/Confuser.Core.csproj b/Confuser.Core/Confuser.Core.csproj
index 8e4d2b48a..1b749cf3c 100644
--- a/Confuser.Core/Confuser.Core.csproj
+++ b/Confuser.Core/Confuser.Core.csproj
@@ -10,11 +10,12 @@
PropertiesConfuser.CoreConfuser.Core
- v3.5
+ v4.0v4.5512..\true
+ true
@@ -44,10 +45,6 @@
-
- True
- ..\packages\TaskParallelLibrary.1.0.2856.0\lib\Net35\System.Threading.dll
-
@@ -125,7 +122,6 @@
-
@@ -144,7 +140,6 @@
Properties\ConfuserEx.snk
-
diff --git a/Confuser.Core/Tuples.cs b/Confuser.Core/Tuples.cs
deleted file mode 100644
index 6c24dcb5a..000000000
--- a/Confuser.Core/Tuples.cs
+++ /dev/null
@@ -1,148 +0,0 @@
-using System;
-using System.Collections.Generic;
-
-namespace Confuser.Core {
- ///
- /// Represents a 2-tuple, or pair.
- ///
- /// The type of the tuple's first component.
- /// The type of the tuple's second component.
- public class Tuple {
-
- ///
- /// Initializes a new instance of the class.
- ///
- /// The value of the tuple's first component.
- /// The value of the tuple's second component.
- public Tuple(T1 item1, T2 item2) {
- Item1 = item1;
- Item2 = item2;
- }
-
- ///
- /// Gets or sets the value of the first component.
- ///
- /// The value of the first component.
- public T1 Item1 { get; set; }
-
- ///
- /// Gets or sets the value of the second component.
- ///
- /// The value of the second component.
- public T2 Item2 { get; set; }
-
- ///
- public override bool Equals(object obj) {
- var other = obj as Tuple;
- if (other == null) return false;
- return Equals(Item1, other.Item1) && Equals(Item2, other.Item2);
- }
-
- ///
- public override int GetHashCode() {
- int hash1 = EqualityComparer.Default.GetHashCode(Item1);
- int hash2 = EqualityComparer.Default.GetHashCode(Item2);
- return ((hash1 << 5) + hash1) ^ hash2;
- }
-
- ///
- public override string ToString() {
- return string.Format("({0}, {1})", Item1, Item2);
- }
-
- }
-
- ///
- /// Represents a 3-tuple, or triple.
- ///
- /// The type of the tuple's first component.
- /// The type of the tuple's second component.
- /// The type of the tuple's third component.
- public class Tuple {
-
- ///
- /// Initializes a new instance of the class.
- ///
- /// The value of the tuple's first component.
- /// The value of the tuple's second component.
- /// The value of the tuple's third component.
- public Tuple(T1 item1, T2 item2, T3 item3) {
- Item1 = item1;
- Item2 = item2;
- Item3 = item3;
- }
-
- ///
- /// Gets or sets the value of the first component.
- ///
- /// The value of the first component.
- public T1 Item1 { get; set; }
-
- ///
- /// Gets or sets the value of the second component.
- ///
- /// The value of the second component.
- public T2 Item2 { get; set; }
-
- ///
- /// Gets or sets the value of the third component.
- ///
- /// The value of the third component.
- public T3 Item3 { get; set; }
-
- ///
- public override bool Equals(object obj) {
- var other = obj as Tuple;
- if (other == null) return false;
- return Equals(Item1, other.Item1) && Equals(Item2, other.Item2) && Equals(Item3, other.Item3);
- }
-
- ///
- public override int GetHashCode() {
- int hash1 = EqualityComparer.Default.GetHashCode(Item1);
- int hash2 = EqualityComparer.Default.GetHashCode(Item2);
- int hash3 = EqualityComparer.Default.GetHashCode(Item3);
- int th = ((hash1 << 5) + hash1) ^ hash2;
- return ((th << 5) + th) ^ hash3;
- }
-
- ///
- public override string ToString() {
- return string.Format("({0}, {1}, {2})", Item1, Item2, Item3);
- }
-
- }
-
- ///
- /// Provides static methods for creating tuple objects.
- ///
- public static class Tuple {
-
- ///
- /// Creates a new 2-tuple, or pair.
- ///
- /// The type of the first component of the tuple.
- /// The type of the second component of the tuple.
- /// The value of the first component of the tuple.
- /// The value of the second component of the tuple.
- /// A 2-tuple whose value is (item1, item2).
- public static Tuple Create(T1 item1, T2 item2) {
- return new Tuple(item1, item2);
- }
-
- ///
- /// Creates a new 3-tuple, or triple.
- ///
- /// The type of the first component of the tuple.
- /// The type of the second component of the tuple.
- /// The type of the third component of the tuple.
- /// The value of the first component of the tuple.
- /// The value of the second component of the tuple.
- /// The value of the third component of the tuple.
- /// A 3-tuple whose value is (item1, item2, item3).
- public static Tuple Create(T1 item1, T2 item2, T3 item3) {
- return new Tuple(item1, item2, item3);
- }
-
- }
-}
\ No newline at end of file
diff --git a/Confuser.Core/packages.config b/Confuser.Core/packages.config
deleted file mode 100644
index a4c5e1d19..000000000
--- a/Confuser.Core/packages.config
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/Confuser.DynCipher/Confuser.DynCipher.csproj b/Confuser.DynCipher/Confuser.DynCipher.csproj
index 661248676..884a5fa01 100644
--- a/Confuser.DynCipher/Confuser.DynCipher.csproj
+++ b/Confuser.DynCipher/Confuser.DynCipher.csproj
@@ -10,9 +10,10 @@
PropertiesConfuser.DynCipherConfuser.DynCipher
- v3.5
+ v4.0v4.5512
+ true
diff --git a/Confuser.Protections/Confuser.Protections.csproj b/Confuser.Protections/Confuser.Protections.csproj
index 4f51d7d29..c28762a8e 100644
--- a/Confuser.Protections/Confuser.Protections.csproj
+++ b/Confuser.Protections/Confuser.Protections.csproj
@@ -10,11 +10,12 @@
PropertiesConfuser.ProtectionsConfuser.Protections
- v3.5
+ v4.0v4.5512..\true
+ true
@@ -42,10 +43,6 @@
-
- True
- ..\packages\TaskParallelLibrary.1.0.2856.0\lib\Net35\System.Threading.dll
-
@@ -124,7 +121,6 @@
Properties\ConfuserEx.snk
-
diff --git a/Confuser.Protections/packages.config b/Confuser.Protections/packages.config
deleted file mode 100644
index a4c5e1d19..000000000
--- a/Confuser.Protections/packages.config
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/Confuser.Renamer/Confuser.Renamer.csproj b/Confuser.Renamer/Confuser.Renamer.csproj
index 386b02c32..08cc12b23 100644
--- a/Confuser.Renamer/Confuser.Renamer.csproj
+++ b/Confuser.Renamer/Confuser.Renamer.csproj
@@ -10,9 +10,10 @@
PropertiesConfuser.RenamerConfuser.Renamer
- v3.5
+ v4.0v4.5512
+ true
diff --git a/ConfuserEx/ConfuserEx.csproj b/ConfuserEx/ConfuserEx.csproj
index 96ed9d56d..59fac11f3 100644
--- a/ConfuserEx/ConfuserEx.csproj
+++ b/ConfuserEx/ConfuserEx.csproj
@@ -10,8 +10,6 @@
PropertiesConfuserExConfuserEx
- v4.0
- v4.5512{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}4
@@ -58,10 +56,6 @@
..\deps\Ookii.Dialogs.Wpf.dll
-
- True
- ..\packages\TaskParallelLibrary.1.0.2856.0\lib\Net35\System.Threading.dll
- ..\packages\MvvmLightLibs.4.3.31.1\lib\net40\System.Windows.Interactivity.dll
@@ -246,18 +240,4 @@
-->
-
-
-
-
-
-
-
- PTL
-
-
-
-
- solveAliasProblem;$(PrepareResourcesDependsOn)
-
\ No newline at end of file
diff --git a/ConfuserEx/ViewModel/UI/ProtectTabVM.cs b/ConfuserEx/ViewModel/UI/ProtectTabVM.cs
index 5f8e1d009..a02bee1fd 100644
--- a/ConfuserEx/ViewModel/UI/ProtectTabVM.cs
+++ b/ConfuserEx/ViewModel/UI/ProtectTabVM.cs
@@ -1,7 +1,4 @@
-#if !NET45
-extern alias PTL;
-#endif
-using System;
+using System;
using System.IO;
using System.Windows;
using System.Windows.Documents;
@@ -10,13 +7,7 @@
using Confuser.Core;
using Confuser.Core.Project;
using GalaSoft.MvvmLight.Command;
-#if !NET45
-using PTL::System.Threading;
-#else
using System.Threading;
-#endif
-
-// http://connect.microsoft.com/VisualStudio/feedback/details/615953/
namespace ConfuserEx.ViewModel {
internal class ProtectTabVM : TabViewModel, ILogger {
diff --git a/ConfuserEx/packages.config b/ConfuserEx/packages.config
index 7742d6624..55cb3f936 100644
--- a/ConfuserEx/packages.config
+++ b/ConfuserEx/packages.config
@@ -3,5 +3,4 @@
-
\ No newline at end of file