Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mitigate diagnostics DX0004, DX0010, DX0011 #629

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions net/DevExtreme.AspNet.Data.Tests/ResponseModelTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ public void EmptyGroupSerialization() {
#if NET4
[Fact]
public void JavaScriptSerializer() {
#pragma warning disable DX0011 // this is assembly with tests, known serializer type
var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();

var loadResultJson = serializer.Serialize(new LoadResult());
Expand All @@ -42,6 +43,7 @@ public void JavaScriptSerializer() {
Assert.Contains("\"summary\":", loadResultJson);

var groupJson = serializer.Serialize(new Group());
#pragma warning restore DX0011 // this is assembly with tests, known serializer type
Assert.Contains("\"key\":", groupJson);
Assert.Contains("\"items\":", groupJson);
Assert.Contains("\"count\":", groupJson);
Expand Down
8 changes: 8 additions & 0 deletions net/DevExtreme.AspNet.Data/Async/ReflectionAsyncAdapter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,9 @@ static class EF6Methods {
public static readonly MethodInfo CountAsyncMethod;
public static readonly MethodInfo ToListAsyncMethod;
static EF6Methods() {
#pragma warning disable DX0004 // known assembly and types
var extensionsType = Type.GetType("System.Data.Entity.QueryableExtensions, EntityFramework");
#pragma warning restore DX0004 // known assembly and types
CountAsyncMethod = FindCountAsyncMethod(extensionsType);
ToListAsyncMethod = FindToListAsyncMethod(extensionsType);
}
Expand All @@ -74,7 +76,9 @@ static class EFCoreMethods {
public static readonly MethodInfo CountAsyncMethod;
public static readonly MethodInfo ToListAsyncMethod;
static EFCoreMethods() {
#pragma warning disable DX0004 // known assembly and types
var extensionsType = Type.GetType("Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions, Microsoft.EntityFrameworkCore");
#pragma warning restore DX0004 // known assembly and types
CountAsyncMethod = FindCountAsyncMethod(extensionsType);
ToListAsyncMethod = FindToListAsyncMethod(extensionsType);
}
Expand All @@ -84,7 +88,9 @@ static class NHMethods {
public static readonly MethodInfo CountAsyncMethod;
public static readonly MethodInfo ToListAsyncMethod;
static NHMethods() {
#pragma warning disable DX0004 // known assembly and types
var extensionsType = Type.GetType("NHibernate.Linq.LinqExtensionMethods, NHibernate");
#pragma warning restore DX0004 // known assembly and types
CountAsyncMethod = FindCountAsyncMethod(extensionsType);
ToListAsyncMethod = FindToListAsyncMethod(extensionsType);
}
Expand All @@ -95,7 +101,9 @@ static class XpoMethods {
public static readonly MethodInfo ToArrayAsyncMethod;
static XpoMethods() {
var asm = Array.Find(AppDomain.CurrentDomain.GetAssemblies(), a => a.FullName.StartsWith("DevExpress.Xpo.v"));
#pragma warning disable DX0004 // known assembly and types
var extensionsType = asm.GetType("DevExpress.Xpo.XPQueryExtensions");
#pragma warning restore DX0004 // known assembly and types
CountAsyncMethod = FindCountAsyncMethod(extensionsType);
ToArrayAsyncMethod = FindToArrayAsyncMethod(extensionsType);
}
Expand Down
4 changes: 4 additions & 0 deletions net/DevExtreme.AspNet.Data/QueryProviderInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,16 @@ public QueryProviderInfo(IQueryProvider provider) {
switch(providerAssembly.GetName().Name) {
case "LinqKit.Microsoft.EntityFrameworkCore":
IsEFCore = true;
#pragma warning disable DX0010 // known assembly
providerAssembly = Assembly.Load("Microsoft.EntityFrameworkCore");
#pragma warning restore DX0010 // known assembly
break;

case "LinqKit.EntityFramework":
IsEFClassic = true;
#pragma warning disable DX0010 // known assembly
providerAssembly = Assembly.Load("EntityFramework");
#pragma warning restore DX0010 // known assembly
break;
}
}
Expand Down
2 changes: 2 additions & 0 deletions net/DevExtreme.AspNet.Data/Types/DynamicClassBridge.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,12 @@ static readonly MethodInfo

static DynamicClassBridge() {
try {
#pragma warning disable DX0010,DX0004 // known assembly and types
var assembly = Assembly.Load("System.Linq.Dynamic.Core");
FACTORY_TYPE = assembly.GetType("System.Linq.Dynamic.Core.DynamicClassFactory");
CLASS_TYPE = assembly.GetType("System.Linq.Dynamic.Core.DynamicClass");
PROP_TYPE = assembly.GetType("System.Linq.Dynamic.Core.DynamicProperty");
#pragma warning restore DX0010,DX0004 // known assembly and types
CREATE_TYPE_METHOD = FACTORY_TYPE.GetMethod("CreateType");
INDEXER_METHOD = CLASS_TYPE.GetMethod("get_Item");
} catch(FileNotFoundException x) {
Expand Down
Loading