cleanup frameworks in AspNetCore (#2278)

* cleanup frameworks in AspNetCore

* fix fxcop
This commit is contained in:
Timothy Mothra 2021-05-25 14:45:56 -07:00 коммит произвёл GitHub
Родитель ddd41c578c
Коммит c6dfc6e078
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
15 изменённых файлов: 15 добавлений и 79 удалений

Просмотреть файл

@ -150,9 +150,7 @@
// NetStandard2.0 has a package reference to Microsoft.Extensions.Logging.ApplicationInsights, and
// enables ApplicationInsightsLoggerProvider by default.
#if NETSTANDARD2_0 || NET461
AddApplicationInsightsLoggerProvider(services);
#endif
}
return services;

Просмотреть файл

@ -33,12 +33,11 @@
{
var configBuilder = new ConfigurationBuilder()
.SetBasePath(this.hostingEnvironment.ContentRootPath ?? Directory.GetCurrentDirectory());
#if NETSTANDARD2_0 || NET461
if (this.userConfiguration != null)
{
configBuilder.AddConfiguration(this.userConfiguration);
}
#endif
configBuilder.AddJsonFile("appsettings.json", true)
.AddJsonFile(string.Format(CultureInfo.InvariantCulture, "appsettings.{0}.json", this.hostingEnvironment.EnvironmentName), true)
.AddEnvironmentVariables();

Просмотреть файл

@ -17,11 +17,7 @@
// In NetStandard20, ApplicationInsightsLoggerProvider is enabled by default,
// which captures Exceptions. Disabling it in RequestCollectionModule to avoid duplication.
#if NETSTANDARD2_0 || NET461
this.TrackExceptions = false;
#else
this.TrackExceptions = true;
#endif
}
/// <summary>

Просмотреть файл

@ -19,7 +19,7 @@
[SuppressMessage("Documentation Rules", "SA1614:ElementParameterDocumentationMustHaveText", Justification = "This class is obsolete and will not be completely documented.")]
internal class ApplicationInsightsLogger : ILogger
{
#if NET461
#if NETFRAMEWORK
/// <summary>
/// SDK Version Prefix.
/// </summary>

Просмотреть файл

@ -9,11 +9,12 @@
/// <summary>
/// <see cref="ILoggerProvider"/> implementation that creates returns instances of <see cref="ApplicationInsightsLogger"/>.
/// </summary>
#if !NETSTANDARD2_0 && !NET461
// For NETSTANDARD2.0 and NET461 We take dependency on Microsoft.Extensions.Logging.ApplicationInsights which has ApplicationInsightsProvider having the same ProviderAlias and don't want to clash with this ProviderAlias.
[ProviderAlias("ApplicationInsights")]
#endif
/// <remarks>
/// THIS CLASS IS OBSOLETE.
/// For NETSTANDARD2.0 and NET461 We take dependency on Microsoft.Extensions.Logging.ApplicationInsights which has ApplicationInsightsProvider having the same ProviderAlias and don't want to clash with this ProviderAlias.
/// </remarks>
[SuppressMessage("Documentation Rules", "SA1614:ElementParameterDocumentationMustHaveText", Justification = "This class is obsolete and will not be completely documented.")]
[Obsolete]
internal class ApplicationInsightsLoggerProvider : ILoggerProvider
{
private readonly TelemetryClient telemetryClient;

Просмотреть файл

@ -37,7 +37,7 @@
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.1.0" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' OR '$(TargetFramework)' == 'net461' ">
<ItemGroup>
<!--
Microsoft.AspNetCore.Http has a vulnerability https://msrc.microsoft.com/update-guide/vulnerability/CVE-2020-1045
System.Text.Encodings.Web has a vulnerability https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-26701

Просмотреть файл

@ -8,7 +8,7 @@
/// </summary>
internal class SdkVersionUtils
{
#if NET461
#if NETFRAMEWORK
/// <summary>
/// SDK Version Prefix.
/// </summary>

Просмотреть файл

@ -59,10 +59,8 @@
private const string DeveloperModeForWebSites = "APPINSIGHTS_DEVELOPER_MODE";
private const string EndpointAddressForWebSites = "APPINSIGHTS_ENDPOINTADDRESS";
#if NETSTANDARD2_0 || NET461
private const string ApplicationInsightsSectionFromConfig = "ApplicationInsights";
private const string TelemetryChannelSectionFromConfig = "ApplicationInsights:TelemetryChannel";
#endif
[SuppressMessage("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields", Justification = "Used in NetStandard2.0 build.")]
private const string EventSourceNameForSystemRuntime = "System.Runtime";
@ -242,10 +240,8 @@
{
try
{
#if NETSTANDARD2_0 || NET461
config.GetSection(ApplicationInsightsSectionFromConfig).Bind(serviceOptions);
config.GetSection(TelemetryChannelSectionFromConfig).Bind(serviceOptions);
#endif
if (config.TryGetValue(primaryKey: ConnectionStringEnvironmentVariable, backupKey: ConnectionStringFromConfig, value: out string connectionStringValue))
{
@ -405,7 +401,6 @@
[SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", Justification = "services parameter is used in only NetStandard 2.0 build.")]
private static void AddApplicationInsightsLoggerProvider(IServiceCollection services)
{
#if NETSTANDARD2_0 || NET461
services.AddLogging(loggingBuilder =>
{
loggingBuilder.AddApplicationInsights();
@ -435,7 +430,6 @@
LogLevel.Warning,
null)));
});
#endif
}
}
}

Просмотреть файл

@ -43,7 +43,7 @@ namespace Microsoft.ApplicationInsights.WorkerService.TelemetryInitializers
string hostName = Dns.GetHostName();
// Issue #61: For dnxcore machine name does not have domain name like in full framework
#if NET461
#if NETFRAMEWORK
string domainName = IPGlobalProperties.GetIPGlobalProperties().DomainName;
if (!hostName.EndsWith(domainName, StringComparison.OrdinalIgnoreCase))
{

Просмотреть файл

@ -101,9 +101,6 @@ namespace Microsoft.Extensions.DependencyInjection.Test
/// Else, it invokes services.AddApplicationInsightsTelemetry(configuration) where IConfiguration object is supplied by caller.
/// </param>
[Theory]
#if !NET46
[InlineData(true)]
#endif
[InlineData(false)]
public static void RegistersTelemetryConfigurationFactoryMethodThatReadsInstrumentationKeyFromConfiguration(bool useDefaultConfig)
{
@ -214,9 +211,6 @@ namespace Microsoft.Extensions.DependencyInjection.Test
/// Else, it invokes services.AddApplicationInsightsTelemetry(configuration) where IConfiguration object is supplied by caller.
/// </param>
[Theory]
#if !NET46
[InlineData(true)]
#endif
[InlineData(false)]
public static void RegistersTelemetryConfigurationFactoryMethodThatReadsEndpointAddressFromConfiguration(bool useDefaultConfig)
{
@ -697,12 +691,10 @@ namespace Microsoft.Extensions.DependencyInjection.Test
/// </param>
/// <param name="isEnable">Sets the value for property EnableLegacyCorrelationHeadersInjection.</param>
[Theory]
#if !NET46
[InlineData("DefaultConfiguration", true)]
[InlineData("DefaultConfiguration", false)]
[InlineData("SuppliedConfiguration", true)]
[InlineData("SuppliedConfiguration", false)]
#endif
[InlineData("Code", true)]
[InlineData("Code", false)]
public static void RegistersTelemetryConfigurationFactoryMethodThatPopulatesDependencyCollectorWithCustomValues(string configType, bool isEnable)
@ -1020,11 +1012,7 @@ namespace Microsoft.Extensions.DependencyInjection.Test
== typeof(RequestTrackingTelemetryModule));
Assert.True(requestTrackingModule.CollectionOptions.InjectResponseHeaders);
#if NETCOREAPP || NET461
Assert.False(requestTrackingModule.CollectionOptions.TrackExceptions);
#else
Assert.True(requestTrackingModule.CollectionOptions.TrackExceptions);
#endif
}
/// <summary>
@ -1039,12 +1027,10 @@ namespace Microsoft.Extensions.DependencyInjection.Test
/// </param>
/// <param name="isEnable">Sets the value for property InjectResponseHeaders, TrackExceptions and EnableW3CDistributedTracing.</param>
[Theory]
#if !NET46
[InlineData("DefaultConfiguration", true)]
[InlineData("DefaultConfiguration", false)]
[InlineData("SuppliedConfiguration", true)]
[InlineData("SuppliedConfiguration", false)]
#endif
[InlineData("Code", true)]
[InlineData("Code", false)]
public static void ConfigureRequestTrackingTelemetryCustomOptions(string configType, bool isEnable)
@ -1141,12 +1127,10 @@ namespace Microsoft.Extensions.DependencyInjection.Test
/// </param>
/// <param name="isEnable">Sets the value for property EnableAdaptiveSampling.</param>
[Theory]
#if !NET46
[InlineData("DefaultConfiguration", true)]
[InlineData("DefaultConfiguration", false)]
[InlineData("SuppliedConfiguration", true)]
[InlineData("SuppliedConfiguration", false)]
#endif
[InlineData("Code", true)]
[InlineData("Code", false)]
public static void DoesNotAddSamplingToConfigurationIfExplicitlyControlledThroughParameter(string configType, bool isEnable)
@ -1357,12 +1341,10 @@ namespace Microsoft.Extensions.DependencyInjection.Test
/// </param>
/// <param name="isEnable">Sets the value for property AddAutoCollectedMetricExtractor.</param>
[Theory]
#if !NET46
[InlineData("DefaultConfiguration", true)]
[InlineData("DefaultConfiguration", false)]
[InlineData("SuppliedConfiguration", true)]
[InlineData("SuppliedConfiguration", false)]
#endif
[InlineData("Code", true)]
[InlineData("Code", false)]
public static void DoesNotAddAutoCollectedMetricsExtractorToConfigurationIfExplicitlyControlledThroughParameter(string configType, bool isEnable)
@ -1410,12 +1392,10 @@ namespace Microsoft.Extensions.DependencyInjection.Test
/// </param>
/// <param name="isEnable">Sets the value for property EnableAuthenticationTrackingJavaScript.</param>
[Theory]
#if !NET46
[InlineData("DefaultConfiguration", true)]
[InlineData("DefaultConfiguration", false)]
[InlineData("SuppliedConfiguration", true)]
[InlineData("SuppliedConfiguration", false)]
#endif
[InlineData("Code", true)]
[InlineData("Code", false)]
public static void UserCanEnableAndDisableAuthenticationTrackingJavaScript(string configType, bool isEnable)
@ -1530,8 +1510,6 @@ namespace Microsoft.Extensions.DependencyInjection.Test
loggerProvider.AddApplicationInsights(serviceProvider, (s, level) => true, null);
}
#if NETCOREAPP || NET461
/// <summary>
/// Creates two copies of ApplicationInsightsServiceOptions. First object is created by calling services.AddApplicationInsightsTelemetry() or services.AddApplicationInsightsTelemetry(config).
/// Second object is created directly from configuration file without using any of SDK functionality.
@ -1723,6 +1701,5 @@ namespace Microsoft.Extensions.DependencyInjection.Test
Assert.Equal(appSettingsConfig["ApplicationInsights:InstrumentationKey"], telemetryConfiguration.InstrumentationKey);
}
#endif
}
}

Просмотреть файл

@ -59,10 +59,7 @@ namespace Microsoft.Extensions.DependencyInjection.Test
config = new ConfigurationBuilder().Build();
}
#if NET46
// In NET46, we don't read from default configuration or bind configuration.
services.AddApplicationInsightsTelemetry(config);
#else
if (useDefaultConfig)
{
services.AddSingleton<IConfiguration>(config);
@ -72,7 +69,7 @@ namespace Microsoft.Extensions.DependencyInjection.Test
{
services.AddApplicationInsightsTelemetry(config);
}
#endif
if (serviceOptions != null)
{
services.Configure(serviceOptions);

Просмотреть файл

@ -100,10 +100,6 @@ namespace Microsoft.ApplicationInsights.AspNetCore.Tests.Extensions
config = configBuilder.Build();
}
#if NET46
// In NET46, we don't read from default configuration or bind configuration.
services.AddApplicationInsightsTelemetry(config);
#else
if (useDefaultConfig)
{
services.AddSingleton<IConfiguration>(config);
@ -113,7 +109,6 @@ namespace Microsoft.ApplicationInsights.AspNetCore.Tests.Extensions
{
services.AddApplicationInsightsTelemetry(config);
}
#endif
servicesConfig?.Invoke(services);
@ -135,12 +130,11 @@ namespace Microsoft.ApplicationInsights.AspNetCore.Tests.Extensions
/// Enabling this will copy the AspNetCore config to the TC.Active static instance.
/// </summary>
[Theory]
#if !NET46
[InlineData("DefaultConfiguration", true)]
[InlineData("DefaultConfiguration", false)]
[InlineData("SuppliedConfiguration", true)]
[InlineData("SuppliedConfiguration", false)]
#endif
[InlineData("Code", true)]
[InlineData("Code", false)]
public static void UserCanEnableAndDisableTelemetryConfigurationActive(string configType, bool isEnable)
@ -190,12 +184,10 @@ namespace Microsoft.ApplicationInsights.AspNetCore.Tests.Extensions
/// User could enable or disable PerformanceCounterCollectionModule by setting EnablePerformanceCounterCollectionModule.
/// </summary>
[Theory]
#if !NET46
[InlineData("DefaultConfiguration", true)]
[InlineData("DefaultConfiguration", false)]
[InlineData("SuppliedConfiguration", true)]
[InlineData("SuppliedConfiguration", false)]
#endif
[InlineData("Code", true)]
[InlineData("Code", false)]
public static void UserCanEnableAndDisablePerfCollectorModule(string configType, bool isEnable)
@ -234,12 +226,10 @@ namespace Microsoft.ApplicationInsights.AspNetCore.Tests.Extensions
/// User could enable or disable DependencyTrackingTelemetryModule by setting EnableDependencyTrackingTelemetryModule.
/// </summary>
[Theory]
#if !NET46
[InlineData("DefaultConfiguration", true)]
[InlineData("DefaultConfiguration", false)]
[InlineData("SuppliedConfiguration", true)]
[InlineData("SuppliedConfiguration", false)]
#endif
[InlineData("Code", true)]
[InlineData("Code", false)]
public static void UserCanEnableAndDisableDependencyCollectorModule(string configType, bool isEnable)
@ -255,12 +245,10 @@ namespace Microsoft.ApplicationInsights.AspNetCore.Tests.Extensions
/// User could enable or disable QuickPulseCollectorModule by setting EnableQuickPulseMetricStream.
/// </summary>
[Theory]
#if !NET46
[InlineData("DefaultConfiguration", true)]
[InlineData("DefaultConfiguration", false)]
[InlineData("SuppliedConfiguration", true)]
[InlineData("SuppliedConfiguration", false)]
#endif
[InlineData("Code", true)]
[InlineData("Code", false)]
public static void UserCanEnableAndDisableQuickPulseCollectorModule(string configType, bool isEnable)
@ -276,12 +264,10 @@ namespace Microsoft.ApplicationInsights.AspNetCore.Tests.Extensions
/// User could enable or disable AzureInstanceMetadataModule by setting EnableAzureInstanceMetadataTelemetryModule.
/// </summary>
[Theory]
#if !NET46
[InlineData("DefaultConfiguration", true)]
[InlineData("DefaultConfiguration", false)]
[InlineData("SuppliedConfiguration", true)]
[InlineData("SuppliedConfiguration", false)]
#endif
[InlineData("Code", true)]
[InlineData("Code", false)]
public static void UserCanEnableAndDisableAzureInstanceMetadataModule(string configType, bool isEnable)
@ -297,12 +283,10 @@ namespace Microsoft.ApplicationInsights.AspNetCore.Tests.Extensions
/// User could enable or disable RequestTrackingTelemetryModule by setting EnableRequestTrackingTelemetryModule.
/// </summary>
[Theory]
#if !NET46
[InlineData("DefaultConfiguration", true)]
[InlineData("DefaultConfiguration", false)]
[InlineData("SuppliedConfiguration", true)]
[InlineData("SuppliedConfiguration", false)]
#endif
[InlineData("Code", true)]
[InlineData("Code", false)]
public static void UserCanEnableAndDisableRequestCounterCollectorModule(string configType, bool isEnable)
@ -318,12 +302,10 @@ namespace Microsoft.ApplicationInsights.AspNetCore.Tests.Extensions
/// User could enable or disable AppServiceHeartbeatModule by setting EnableAppServicesHeartbeatTelemetryModule.
/// </summary>
[Theory]
#if !NET46
[InlineData("DefaultConfiguration", true)]
[InlineData("DefaultConfiguration", false)]
[InlineData("SuppliedConfiguration", true)]
[InlineData("SuppliedConfiguration", false)]
#endif
[InlineData("Code", true)]
[InlineData("Code", false)]
public static void UserCanEnableAndDisableAppServiceHeartbeatModule(string configType, bool isEnable)
@ -339,12 +321,10 @@ namespace Microsoft.ApplicationInsights.AspNetCore.Tests.Extensions
/// User could enable or disable <see cref="DiagnosticsTelemetryModule"/> by setting <see cref="ApplicationInsightsServiceOptions.EnableDiagnosticsTelemetryModule"/>.
/// </summary>
[Theory]
#if !NET46
[InlineData("DefaultConfiguration", true)]
[InlineData("DefaultConfiguration", false)]
[InlineData("SuppliedConfiguration", true)]
[InlineData("SuppliedConfiguration", false)]
#endif
[InlineData("Code", true)]
[InlineData("Code", false)]
public static void UserCanEnableAndDisableDiagnosticsTelemetryModule(string configType, bool isEnable)

Просмотреть файл

@ -13,12 +13,6 @@
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
</PropertyGroup>
<ItemGroup>
<None Update="content\*">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\Microsoft.ApplicationInsights.AspNetCore\Microsoft.ApplicationInsights.AspNetCore.csproj" />
</ItemGroup>

Просмотреть файл

@ -2,7 +2,7 @@
{
public class SdkVersionTestUtils
{
#if NET452 || NET46 || NET461
#if NETFRAMEWORK
public const string VersionPrefix = "aspnet5f:";
#else
public const string VersionPrefix = "aspnet5c:";

Просмотреть файл

@ -24,7 +24,7 @@
string hostName = Dns.GetHostName();
#if NET46 || NET461
#if NETFRAMEWORK
string domainName = IPGlobalProperties.GetIPGlobalProperties().DomainName;
if (hostName.EndsWith(domainName, StringComparison.OrdinalIgnoreCase) == false)
{