diff --git a/src/ReactiveUI.Events.WPF/ReactiveUI.Events.WPF.csproj b/src/ReactiveUI.Events.WPF/ReactiveUI.Events.WPF.csproj
index 7d9a98a948..db7b5c8bf9 100644
--- a/src/ReactiveUI.Events.WPF/ReactiveUI.Events.WPF.csproj
+++ b/src/ReactiveUI.Events.WPF/ReactiveUI.Events.WPF.csproj
@@ -4,7 +4,7 @@
ReactiveUI.Events
Provides Observable-based events API for WPF UI controls/eventhandlers. The contents of this package is automatically generated, please target pull-requests to the code generator.
ReactiveUI.Events.WPF
- true
+ true
$(NoWarn);CS1570;CA1812
diff --git a/src/ReactiveUI.Events.Winforms/ReactiveUI.Events.Winforms.csproj b/src/ReactiveUI.Events.Winforms/ReactiveUI.Events.Winforms.csproj
index 181920cb2d..86291fd3bf 100644
--- a/src/ReactiveUI.Events.Winforms/ReactiveUI.Events.Winforms.csproj
+++ b/src/ReactiveUI.Events.Winforms/ReactiveUI.Events.Winforms.csproj
@@ -5,7 +5,7 @@
ReactiveUI.Events
Provides Observable-based events API for Winforms UI controls/eventhandlers. The contents of this package is automatically generated, please target pull-requests to the code generator.
ReactiveUI.Events.Winforms
- true
+ true
$(NoWarn);CS1570;CA1812
diff --git a/src/ReactiveUI.Events/ReactiveUI.Events.csproj b/src/ReactiveUI.Events/ReactiveUI.Events.csproj
index c82e5f0318..3b7cac72a4 100644
--- a/src/ReactiveUI.Events/ReactiveUI.Events.csproj
+++ b/src/ReactiveUI.Events/ReactiveUI.Events.csproj
@@ -18,12 +18,6 @@
-
- Windows Desktop Extensions for the UWP
-
-
- Windows Mobile Extensions for the UWP
-
diff --git a/src/ReactiveUI.Tests/Platforms/wpf/API/ApiApprovalTests.Wpf.net461.approved.txt b/src/ReactiveUI.Tests/Platforms/wpf/API/ApiApprovalTests.Wpf.net461.approved.txt
index 61423593e4..1fd8a824c2 100644
--- a/src/ReactiveUI.Tests/Platforms/wpf/API/ApiApprovalTests.Wpf.net461.approved.txt
+++ b/src/ReactiveUI.Tests/Platforms/wpf/API/ApiApprovalTests.Wpf.net461.approved.txt
@@ -121,16 +121,4 @@ namespace ReactiveUI.Wpf
public Registrations() { }
public void Register(System.Action, System.Type> registerFunction) { }
}
-}
-namespace XamlGeneratedNamespace
-{
- public sealed class GeneratedInternalTypeHelper : System.Windows.Markup.InternalTypeHelper
- {
- public GeneratedInternalTypeHelper() { }
- protected override void AddEventHandler(System.Reflection.EventInfo eventInfo, object target, System.Delegate handler) { }
- protected override System.Delegate CreateDelegate(System.Type delegateType, object target, string handler) { }
- protected override object CreateInstance(System.Type type, System.Globalization.CultureInfo culture) { }
- protected override object GetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, System.Globalization.CultureInfo culture) { }
- protected override void SetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, object value, System.Globalization.CultureInfo culture) { }
- }
}
\ No newline at end of file
diff --git a/src/ReactiveUI.Tests/Utilities/ApiApprovalBase.cs b/src/ReactiveUI.Tests/Utilities/ApiApprovalBase.cs
index b70b89db78..34ff7703e7 100644
--- a/src/ReactiveUI.Tests/Utilities/ApiApprovalBase.cs
+++ b/src/ReactiveUI.Tests/Utilities/ApiApprovalBase.cs
@@ -5,11 +5,13 @@
using System;
using System.Collections.Generic;
+using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
@@ -46,7 +48,33 @@ protected static void CheckApproval(Assembly assembly, [CallerMemberName]string
if (!string.Equals(receivedPublicApi, approvedPublicApi, StringComparison.InvariantCulture))
{
File.WriteAllText(receivedFileName, receivedPublicApi);
- ShouldlyConfiguration.DiffTools.GetDiffTool().Open(receivedFileName, approvedFileName, true);
+ try
+ {
+ ShouldlyConfiguration.DiffTools.GetDiffTool().Open(receivedFileName, approvedFileName, true);
+ }
+ catch (ShouldAssertException)
+ {
+ var process = new Process
+ {
+ StartInfo = new ProcessStartInfo
+ {
+ Arguments = $"\"{approvedFileName}\" \"{receivedFileName}\"",
+ UseShellExecute = false,
+ RedirectStandardOutput = true,
+ CreateNoWindow = true
+ }
+ };
+#if NET_461
+ process.StartInfo.FileName = "FC";
+#else
+ process.StartInfo.FileName = "diff";
+#endif
+ process.Start();
+ string output = process.StandardOutput.ReadToEnd();
+ process.WaitForExit();
+
+ throw new Exception("Invalid API configuration: " + Environment.NewLine + output);
+ }
}
Assert.Equal(approvedPublicApi, receivedPublicApi);
diff --git a/src/ReactiveUI.Winforms/ReactiveUI.Winforms.csproj b/src/ReactiveUI.Winforms/ReactiveUI.Winforms.csproj
index 06d525a43d..20a2476cf2 100644
--- a/src/ReactiveUI.Winforms/ReactiveUI.Winforms.csproj
+++ b/src/ReactiveUI.Winforms/ReactiveUI.Winforms.csproj
@@ -6,7 +6,7 @@
ReactiveUI.Winforms
Windows Forms specific extensions to ReactiveUI
ReactiveUI.WinForms
- true
+ true
diff --git a/src/ReactiveUI.Wpf/ReactiveUI.Wpf.csproj b/src/ReactiveUI.Wpf/ReactiveUI.Wpf.csproj
index eb92fc1017..eeeb035b67 100644
--- a/src/ReactiveUI.Wpf/ReactiveUI.Wpf.csproj
+++ b/src/ReactiveUI.Wpf/ReactiveUI.Wpf.csproj
@@ -3,7 +3,7 @@
net461
WPF specific extensions to ReactiveUI
ReactiveUI.WPF
- true
+ true
diff --git a/src/global.json b/src/global.json
index 1e4edb34a6..ddab91af6c 100644
--- a/src/global.json
+++ b/src/global.json
@@ -1,5 +1,5 @@
{
"msbuild-sdks": {
- "MSBuild.Sdk.Extras": "1.6.68"
+ "MSBuild.Sdk.Extras": "2.0.24"
}
}