Browse Source

Base path. (#665)

* Base path.

* Html agility pack fix.

* MAp support.

* Build fix.

* Tests fixed.

* Fix type name.
pull/666/head
Sebastian Stehle 5 years ago
committed by GitHub
parent
commit
7276a99dbd
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 24
      backend/extensions/Squidex.Extensions/Actions/Kafka/KafkaProducer.cs
  2. 6
      backend/extensions/Squidex.Extensions/Squidex.Extensions.csproj
  3. 6
      backend/src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj
  4. 2
      backend/src/Squidex.Domain.Apps.Entities.MongoDb/Squidex.Domain.Apps.Entities.MongoDb.csproj
  5. 9
      backend/src/Squidex.Domain.Apps.Entities/Apps/DefaultAppLogStore.cs
  6. 8
      backend/src/Squidex.Domain.Apps.Entities/Squidex.Domain.Apps.Entities.csproj
  7. 2
      backend/src/Squidex.Domain.Apps.Events/Squidex.Domain.Apps.Events.csproj
  8. 2
      backend/src/Squidex.Domain.Users.MongoDb/Squidex.Domain.Users.MongoDb.csproj
  9. 4
      backend/src/Squidex.Infrastructure.MongoDb/Squidex.Infrastructure.MongoDb.csproj
  10. 14
      backend/src/Squidex.Infrastructure/Squidex.Infrastructure.csproj
  11. 24
      backend/src/Squidex/Squidex.csproj
  12. 1
      backend/src/Squidex/Startup.cs
  13. 5
      backend/src/Squidex/appsettings.json
  14. 2
      backend/tests/RunCoverage.ps1
  15. 2
      backend/tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj
  16. 2
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj
  17. 2
      backend/tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj
  18. 2
      backend/tests/Squidex.Infrastructure.Tests/MongoDb/BsonJsonSerializerTests.cs
  19. 4
      backend/tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj
  20. 6
      backend/tests/Squidex.Web.Tests/Services/StringLocalizerTests.cs
  21. 2
      backend/tests/Squidex.Web.Tests/Squidex.Web.Tests.csproj

24
backend/extensions/Squidex.Extensions/Actions/Kafka/KafkaProducer.cs

@ -196,15 +196,25 @@ namespace Squidex.Extensions.Actions.Kafka
return n.Value;
case JsonBoolean b:
return b.Value;
case JsonObject o:
case JsonObject o when (schema is MapSchema map):
{
var recordSchema = (RecordSchema)schema;
var mapResult = new Dictionary<string, object>();
var result = new GenericRecord(recordSchema);
foreach (var (key, childValue) in o)
{
mapResult.Add(key, GetValue(childValue, map.ValueSchema));
}
return mapResult;
}
case JsonObject o when (schema is RecordSchema record):
{
var result = new GenericRecord(record);
foreach (var (key, childValue) in o)
{
if (recordSchema.TryGetField(key, out var field))
if (record.TryGetField(key, out var field))
{
result.Add(key, GetValue(childValue, field.Schema));
}
@ -213,15 +223,13 @@ namespace Squidex.Extensions.Actions.Kafka
return result;
}
case JsonArray a:
case JsonArray a when (schema is ArraySchema array):
{
var arraySchema = (ArraySchema)schema;
var result = new List<object>();
foreach (var item in a)
{
result.Add(GetValue(item, arraySchema.ItemSchema));
result.Add(GetValue(item, array.ItemSchema));
}
return result.ToArray();

6
backend/extensions/Squidex.Extensions/Squidex.Extensions.csproj

@ -14,12 +14,12 @@
<PackageReference Include="Confluent.SchemaRegistry.Serdes" Version="1.3.0" />
<PackageReference Include="CoreTweet" Version="1.0.0.483" />
<PackageReference Include="Datadog.Trace" Version="1.24.0" />
<PackageReference Include="Elasticsearch.Net" Version="7.10.1" />
<PackageReference Include="Elasticsearch.Net" Version="7.11.1" />
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.17.0" />
<PackageReference Include="Microsoft.Extensions.Http" Version="5.0.0" />
<PackageReference Include="Microsoft.OData.Core" Version="7.8.2" />
<PackageReference Include="Microsoft.OData.Core" Version="7.8.3" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="NodaTime" Version="3.0.3" />
<PackageReference Include="NodaTime" Version="3.0.5" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />

6
backend/src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj

@ -17,12 +17,12 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Fluid.Core.Squidex" Version="1.0.0-beta" />
<PackageReference Include="HtmlAgilityPack" Version="1.11.30" />
<PackageReference Include="GeoJSON.Net" Version="1.2.19" />
<PackageReference Include="HtmlAgilityPack" Version="1.11.31" />
<PackageReference Include="Markdig" Version="0.23.0" />
<PackageReference Include="Microsoft.Extensions.Http" Version="5.0.0" />
<PackageReference Include="Microsoft.OData.Core" Version="7.8.2" />
<PackageReference Include="NJsonSchema" Version="10.3.2" />
<PackageReference Include="Microsoft.OData.Core" Version="7.8.3" />
<PackageReference Include="NJsonSchema" Version="10.3.11" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="Squidex.Jint" Version="3.0.0-beta-0" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Squidex.Domain.Apps.Entities.MongoDb.csproj

@ -17,7 +17,7 @@
<ProjectReference Include="..\Squidex.Domain.Apps.Entities\Squidex.Domain.Apps.Entities.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="MongoDB.Driver" Version="2.11.6" />
<PackageReference Include="MongoDB.Driver" Version="2.12.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />

9
backend/src/Squidex.Domain.Apps.Entities/Apps/DefaultAppLogStore.cs

@ -29,7 +29,12 @@ namespace Squidex.Domain.Apps.Entities.Apps
private const string FieldRequestMethod = "RequestMethod";
private const string FieldRequestPath = "RequestPath";
private const string FieldTimestamp = "Timestamp";
private readonly CsvConfiguration csvConfiguration = new CsvConfiguration(CultureInfo.InvariantCulture) { Delimiter = "|" };
private static readonly CsvConfiguration CsvConfiguration = new CsvConfiguration(CultureInfo.InvariantCulture)
{
Delimiter = "|",
LeaveOpen = true,
LineBreakInQuotedFieldIsBadData = false
};
private readonly IRequestLogStore requestLogStore;
public DefaultAppLogStore(IRequestLogStore requestLogStore)
@ -69,7 +74,7 @@ namespace Squidex.Domain.Apps.Entities.Apps
var writer = new StreamWriter(stream, Encoding.UTF8, 4096, true);
try
{
using (var csv = new CsvWriter(writer, csvConfiguration, true))
using (var csv = new CsvWriter(writer, CsvConfiguration))
{
csv.WriteField(FieldTimestamp);
csv.WriteField(FieldRequestPath);

8
backend/src/Squidex.Domain.Apps.Entities/Squidex.Domain.Apps.Entities.csproj

@ -17,8 +17,8 @@
<ProjectReference Include="..\Squidex.Shared\Squidex.Shared.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="CsvHelper" Version="19.0.0" />
<PackageReference Include="Elasticsearch.Net" Version="7.10.1" />
<PackageReference Include="CsvHelper" Version="26.0.1" />
<PackageReference Include="Elasticsearch.Net" Version="7.11.1" />
<PackageReference Include="Equals.Fody" Version="4.0.1" PrivateAssets="all" />
<PackageReference Include="Fody" Version="6.3.0">
<PrivateAssets>all</PrivateAssets>
@ -26,11 +26,11 @@
</PackageReference>
<PackageReference Include="GraphQL" Version="3.3.2" />
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="5.0.0" />
<PackageReference Include="Microsoft.Orleans.CodeGenerator.MSBuild" Version="3.4.0">
<PackageReference Include="Microsoft.Orleans.CodeGenerator.MSBuild" Version="3.4.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.Orleans.Core" Version="3.4.0" />
<PackageReference Include="Microsoft.Orleans.Core" Version="3.4.1" />
<PackageReference Include="Notifo.SDK" Version="1.0.0-beta2" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />

2
backend/src/Squidex.Domain.Apps.Events/Squidex.Domain.Apps.Events.csproj

@ -13,7 +13,7 @@
<ProjectReference Include="..\Squidex.Infrastructure\Squidex.Infrastructure.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="NodaTime" Version="3.0.3" />
<PackageReference Include="NodaTime" Version="3.0.5" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />

2
backend/src/Squidex.Domain.Users.MongoDb/Squidex.Domain.Users.MongoDb.csproj

@ -20,7 +20,7 @@
<ItemGroup>
<PackageReference Include="IdentityServer4" Version="4.1.1" />
<PackageReference Include="Microsoft.Win32.Registry" Version="5.0.0" />
<PackageReference Include="MongoDB.Driver" Version="2.11.6" />
<PackageReference Include="MongoDB.Driver" Version="2.12.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.Security.Principal.Windows" Version="5.0.0" />

4
backend/src/Squidex.Infrastructure.MongoDb/Squidex.Infrastructure.MongoDb.csproj

@ -13,8 +13,8 @@
<ProjectReference Include="..\Squidex.Infrastructure\Squidex.Infrastructure.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="MongoDB.Driver" Version="2.11.6" />
<PackageReference Include="MongoDB.Driver.GridFS" Version="2.11.6" />
<PackageReference Include="MongoDB.Driver" Version="2.12.0" />
<PackageReference Include="MongoDB.Driver.GridFS" Version="2.12.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.Threading.Tasks.Dataflow" Version="5.0.0" />

14
backend/src/Squidex.Infrastructure/Squidex.Infrastructure.csproj

@ -13,20 +13,20 @@
<PackageReference Include="MailKit" Version="2.10.1" />
<PackageReference Include="McMaster.NETCore.Plugins" Version="1.3.1" />
<PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="5.0.1" />
<PackageReference Include="Microsoft.OData.Core" Version="7.8.2" />
<PackageReference Include="Microsoft.Orleans.CodeGenerator.MSBuild" Version="3.4.0">
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="5.0.3" />
<PackageReference Include="Microsoft.OData.Core" Version="7.8.3" />
<PackageReference Include="Microsoft.Orleans.CodeGenerator.MSBuild" Version="3.4.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.Orleans.Core" Version="3.4.0" />
<PackageReference Include="Microsoft.Orleans.OrleansRuntime" Version="3.4.0" />
<PackageReference Include="Microsoft.Orleans.Core" Version="3.4.1" />
<PackageReference Include="Microsoft.Orleans.OrleansRuntime" Version="3.4.1" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="NJsonSchema" Version="10.3.2" />
<PackageReference Include="NJsonSchema" Version="10.3.11" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="Squidex.Assets" Version="1.3.0" />
<PackageReference Include="Squidex.Caching" Version="1.8.0" />
<PackageReference Include="Squidex.Hosting.Abstractions" Version="1.8.0" />
<PackageReference Include="Squidex.Hosting.Abstractions" Version="1.9.0" />
<PackageReference Include="Squidex.Log" Version="1.2.0" />
<PackageReference Include="Squidex.Text" Version="1.6.0" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />

24
backend/src/Squidex/Squidex.csproj

@ -43,32 +43,32 @@
<PackageReference Include="Microsoft.AspNetCore.Authentication.Google" Version="5.0.3" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.MicrosoftAccount" Version="5.0.3" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.3" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="5.0.1" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="5.0.3" />
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="5.0.0" />
<PackageReference Include="Microsoft.Data.Edm" Version="5.8.4" />
<PackageReference Include="Microsoft.OData.Core" Version="7.8.2" />
<PackageReference Include="Microsoft.Orleans.Core" Version="3.4.0" />
<PackageReference Include="Microsoft.Orleans.Core.Abstractions" Version="3.4.0" />
<PackageReference Include="Microsoft.Orleans.OrleansRuntime" Version="3.4.0" />
<PackageReference Include="MongoDB.Driver" Version="2.11.6" />
<PackageReference Include="Namotion.Reflection" Version="1.0.15" />
<PackageReference Include="Microsoft.OData.Core" Version="7.8.3" />
<PackageReference Include="Microsoft.Orleans.Core" Version="3.4.1" />
<PackageReference Include="Microsoft.Orleans.Core.Abstractions" Version="3.4.1" />
<PackageReference Include="Microsoft.Orleans.OrleansRuntime" Version="3.4.1" />
<PackageReference Include="MongoDB.Driver" Version="2.12.0" />
<PackageReference Include="Namotion.Reflection" Version="1.0.18" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="NJsonSchema" Version="10.3.2" />
<PackageReference Include="NJsonSchema" Version="10.3.11" />
<PackageReference Include="NodaTime.Serialization.JsonNet" Version="3.0.0" />
<PackageReference Include="NSwag.AspNetCore" Version="13.9.4" />
<PackageReference Include="NSwag.AspNetCore" Version="13.10.7" />
<PackageReference Include="OpenCover" Version="4.7.922" PrivateAssets="all" />
<PackageReference Include="Orleans.Providers.MongoDB" Version="3.2.0" />
<PackageReference Include="OrleansDashboard" Version="3.1.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="ReportGenerator" Version="4.8.4" PrivateAssets="all" />
<PackageReference Include="ReportGenerator" Version="4.8.7" PrivateAssets="all" />
<PackageReference Include="Squidex.Assets.Azure" Version="1.3.0" />
<PackageReference Include="Squidex.Assets.GoogleCloud" Version="1.3.0" />
<PackageReference Include="Squidex.Assets.FTP" Version="1.3.0" />
<PackageReference Include="Squidex.Assets.Mongo" Version="1.3.0" />
<PackageReference Include="Squidex.Assets.S3" Version="1.3.0" />
<PackageReference Include="Squidex.Caching.Orleans" Version="1.8.0" />
<PackageReference Include="Squidex.ClientLibrary" Version="6.12.0" />
<PackageReference Include="Squidex.Hosting" Version="1.8.0" />
<PackageReference Include="Squidex.ClientLibrary" Version="6.16.0" />
<PackageReference Include="Squidex.Hosting" Version="1.9.0" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.Linq" Version="4.3.0" />
<PackageReference Include="System.Runtime" Version="4.3.1" />

1
backend/src/Squidex/Startup.cs

@ -76,6 +76,7 @@ namespace Squidex
{
app.UseCookiePolicy();
app.UseDefaultPathBase();
app.UseDefaultForwardRules();
app.UseSquidexCacheKeys();

5
backend/src/Squidex/appsettings.json

@ -12,6 +12,11 @@
*/
"baseUrl": "https://localhost:5001",
/*
* The base path when running Squidex behind a reverse proxy like nginx under a subfolder / subpath.
*/
"basePath": "",
/*
* Set it to true to redirect the user from http to https permanently.
*/

2
backend/tests/RunCoverage.ps1

@ -81,6 +81,6 @@ if ($all -Or $web) {
-oldStyle
}
&"$folderHome\.nuget\packages\ReportGenerator\4.8.4\tools\net47\ReportGenerator.exe" `
&"$folderHome\.nuget\packages\ReportGenerator\4.8.7\tools\net47\ReportGenerator.exe" `
-reports:"$folderWorking\$folderReports\*.xml" `
-targetdir:"$folderWorking\$folderReports\Output"

2
backend/tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj

@ -16,7 +16,7 @@
<PackageReference Include="FluentAssertions" Version="5.10.3" />
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.Http" Version="5.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.3" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.1" />
<PackageReference Include="NodaTime.Serialization.JsonNet" Version="3.0.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />

2
backend/tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj

@ -24,7 +24,7 @@
<PackageReference Include="Lorem.Universal.Net" Version="4.0.80" />
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.Options" Version="5.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.3" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.1" />
<PackageReference Include="Microsoft.Orleans.TestingHost" Version="3.4.1" />
<PackageReference Include="NodaTime.Serialization.JsonNet" Version="3.0.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />

2
backend/tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj

@ -15,7 +15,7 @@
<ItemGroup>
<PackageReference Include="FakeItEasy" Version="6.2.1" />
<PackageReference Include="FluentAssertions" Version="5.10.3" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.3" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.1" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />

2
backend/tests/Squidex.Infrastructure.Tests/MongoDb/BsonJsonSerializerTests.cs

@ -17,7 +17,7 @@ using Xunit;
namespace Squidex.Infrastructure.MongoDb
{
public class BsonConverterTests
public class BsonJsonSerializerTests
{
public class TestObject
{

4
backend/tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj

@ -17,9 +17,9 @@
<PackageReference Include="FluentAssertions" Version="5.10.3" />
<PackageReference Include="Google.Cloud.Storage.V1" Version="3.4.0" />
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="5.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.3" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.1" />
<PackageReference Include="Microsoft.Orleans.TestingHost" Version="3.4.1" />
<PackageReference Include="Microsoft.Orleans.CodeGenerator.MSBuild" Version="3.4.0">
<PackageReference Include="Microsoft.Orleans.CodeGenerator.MSBuild" Version="3.4.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>

6
backend/tests/Squidex.Web.Tests/Services/StringLocalizerTests.cs

@ -29,7 +29,7 @@ namespace Squidex.Web.Services
var name = sut[key];
Assert.Equal("The field {0} is required.", name);
Assert.Equal("The field '{0}' is required.", name);
}
[Fact]
@ -39,7 +39,7 @@ namespace Squidex.Web.Services
var name = sut[key, "MyField"];
Assert.Equal("The field MyField is required.", name);
Assert.Equal("The field 'MyField' is required.", name);
}
[Fact]
@ -49,7 +49,7 @@ namespace Squidex.Web.Services
var name = sut[key, "ClientId"];
Assert.Equal("The field Client ID is required.", name);
Assert.Equal("The field 'Client ID' is required.", name);
}
}
}

2
backend/tests/Squidex.Web.Tests/Squidex.Web.Tests.csproj

@ -14,7 +14,7 @@
<PackageReference Include="FakeItEasy" Version="6.2.1" />
<PackageReference Include="IdentityServer4" Version="4.1.1" />
<PackageReference Include="IdentityServer4.AspNetIdentity" Version="4.1.1" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.3" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.1" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="xunit" Version="2.4.1" />

Loading…
Cancel
Save