diff --git a/OptimizelySDK.Net35/OptimizelySDK.Net35.csproj b/OptimizelySDK.Net35/OptimizelySDK.Net35.csproj
index 08dd7398..8dc64e4e 100644
--- a/OptimizelySDK.Net35/OptimizelySDK.Net35.csproj
+++ b/OptimizelySDK.Net35/OptimizelySDK.Net35.csproj
@@ -284,9 +284,18 @@
OptlyConfig\OptimizelyConfig.cs
+
+ OptlyConfig\OptimizelyAttribute.cs
+
+
+ OptlyConfig\OptimizelyEvent.cs
+
OptlyConfig\OptimizelyExperiment.cs
+
+ OptlyConfig\OptimizelyAudience.cs
+
OptlyConfig\OptimizelyFeature.cs
diff --git a/OptimizelySDK.Net40/OptimizelySDK.Net40.csproj b/OptimizelySDK.Net40/OptimizelySDK.Net40.csproj
index 9ceeddcf..e5c64c6c 100644
--- a/OptimizelySDK.Net40/OptimizelySDK.Net40.csproj
+++ b/OptimizelySDK.Net40/OptimizelySDK.Net40.csproj
@@ -300,6 +300,12 @@
OptlyConfig\OptimizelyConfig.cs
+
+
+ OptlyConfig\OptimizelyAttribute.cs
+
+
+ OptlyConfig\OptimizelyEvent.cs
OptlyConfig\OptimizelyExperiment.cs
@@ -312,6 +318,9 @@
OptlyConfig\OptimizelyVariation.cs
+
+
+ OptlyConfig\OptimizelyAudience.cs
OptlyConfig\OptimizelyConfigService.cs
diff --git a/OptimizelySDK.NetStandard16/OptimizelySDK.NetStandard16.csproj b/OptimizelySDK.NetStandard16/OptimizelySDK.NetStandard16.csproj
index 67487cdc..7d5e7c81 100644
--- a/OptimizelySDK.NetStandard16/OptimizelySDK.NetStandard16.csproj
+++ b/OptimizelySDK.NetStandard16/OptimizelySDK.NetStandard16.csproj
@@ -82,10 +82,13 @@
+
+
+
diff --git a/OptimizelySDK.NetStandard20/OptimizelySDK.NetStandard20.csproj b/OptimizelySDK.NetStandard20/OptimizelySDK.NetStandard20.csproj
index b64a9c2b..b43a21cb 100644
--- a/OptimizelySDK.NetStandard20/OptimizelySDK.NetStandard20.csproj
+++ b/OptimizelySDK.NetStandard20/OptimizelySDK.NetStandard20.csproj
@@ -258,9 +258,15 @@
Event\EventProcessor.cs
+
+
+ OptlyConfig\OptimizelyAttribute.cs
OptlyConfig\OptimizelyConfig.cs
+
+
+ OptlyConfig\OptimizelyEvent.cs
OptlyConfig\OptimizelyExperiment.cs
@@ -270,6 +276,9 @@
OptlyConfig\OptimizelyVariable.cs
+
+
+ OptlyConfig\OptimizelyAudience.cs
OptlyConfig\OptimizelyVariation.cs
diff --git a/OptimizelySDK.Tests/OptimizelyConfigTests/OptimizelyConfigTest.cs b/OptimizelySDK.Tests/OptimizelyConfigTests/OptimizelyConfigTest.cs
index c393cc7f..51025bf2 100644
--- a/OptimizelySDK.Tests/OptimizelyConfigTests/OptimizelyConfigTest.cs
+++ b/OptimizelySDK.Tests/OptimizelyConfigTests/OptimizelyConfigTest.cs
@@ -22,6 +22,8 @@
using OptimizelySDK.OptlyConfig;
using System.Collections.Generic;
using System.Threading;
+using OptimizelySDK.Tests.UtilsTests;
+using Newtonsoft.Json.Linq;
namespace OptimizelySDK.Tests.OptimizelyConfigTests
{
@@ -40,6 +42,67 @@ public void Setup()
#region Test OptimizelyConfigService
+ static Type[] ParameterTypes = {
+ typeof(ProjectConfig),
+ };
+
+ private PrivateObject CreatePrivateOptimizelyConfigService(ProjectConfig projectConfig)
+ {
+ return new PrivateObject(typeof(OptimizelyConfigService), ParameterTypes,
+ new object[]
+ {
+ projectConfig
+ });
+ }
+
+ [Test]
+ public void TestGetOptimizelyConfigServiceSerializedAudiences()
+ {
+ var datafileProjectConfig = DatafileProjectConfig.Create(TestData.TypedAudienceDatafile, new NoOpLogger(), new ErrorHandler.NoOpErrorHandler());
+ var optlyConfigService = CreatePrivateOptimizelyConfigService(datafileProjectConfig);
+
+ var audienceConditions = new List>
+ {
+ new List