提交 e5ef8030 编写于 作者: A Ashley Hauck

Respond to feedback and add missing file

上级 ab9add62
......@@ -102,6 +102,7 @@
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
<ForceIncludeInVSIX>true</ForceIncludeInVSIX>
<!-- Workaround for https://github.com/dotnet/sdk/issues/433#issuecomment-320024771 . Remove once resolved. -->
<AdditionalProperties>TargetFramework=net46</AdditionalProperties>
</ProjectReference>
<ProjectReference Include="..\CSharp\csc\csc.csproj">
......
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
#if NETCOREAPP2_0
using System;
using System.Collections.Immutable;
namespace Microsoft.CodeAnalysis.CompilerServer
{
internal sealed class CoreClrCompilerServerHost : CompilerServerHost
{
private static readonly IAnalyzerAssemblyLoader s_analyzerLoader = new CoreClrAnalyzerAssemblyLoader();
// Caches are used by C# and VB compilers, and shared here.
public static readonly Func<string, MetadataReferenceProperties, PortableExecutableReference> SharedAssemblyReferenceProvider = (path, properties) => new CachingMetadataReference(path, properties);
public override IAnalyzerAssemblyLoader AnalyzerAssemblyLoader => s_analyzerLoader;
public override Func<string, MetadataReferenceProperties, PortableExecutableReference> AssemblyReferenceProvider => SharedAssemblyReferenceProvider;
internal CoreClrCompilerServerHost(string clientDirectory, string sdkDirectory)
: base(clientDirectory, sdkDirectory)
{
}
public override bool CheckAnalyzers(string baseDirectory, ImmutableArray<CommandLineAnalyzerReference> analyzers)
{
return AnalyzerConsistencyChecker.Check(baseDirectory, analyzers, s_analyzerLoader);
}
}
}
#endif
......@@ -40,23 +40,31 @@ protected override IClientConnectionHost CreateClientConnectionHost(string pipeN
protected internal override TimeSpan? GetKeepAliveTimeout()
{
int keepAliveValue;
string keepAliveStr = _appSettings[KeepAliveSettingName];
if (int.TryParse(keepAliveStr, NumberStyles.Integer, CultureInfo.InvariantCulture, out keepAliveValue) &&
keepAliveValue >= 0)
try
{
if (keepAliveValue == 0)
int keepAliveValue;
string keepAliveStr = _appSettings[KeepAliveSettingName];
if (int.TryParse(keepAliveStr, NumberStyles.Integer, CultureInfo.InvariantCulture, out keepAliveValue) &&
keepAliveValue >= 0)
{
// This is a one time server entry.
return null;
if (keepAliveValue == 0)
{
// This is a one time server entry.
return null;
}
else
{
return TimeSpan.FromSeconds(keepAliveValue);
}
}
else
{
return TimeSpan.FromSeconds(keepAliveValue);
return ServerDispatcher.DefaultServerKeepAlive;
}
}
else
catch (Exception e)
{
CompilerServerLogger.LogException(e, "Could not read AppSettings");
return ServerDispatcher.DefaultServerKeepAlive;
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册