Use new project format for final projects

This change rewrites the HtmlGenerator and SourceIndexServer projects
into the new format.

This change also ports the SourceIndexServer to ASP.NET Core.
This commit is contained in:
Alex Perovich 2017-04-05 17:44:31 -07:00
Родитель dcd63c6b54
Коммит ff2547691c
297 изменённых файлов: 644 добавлений и 2816 удалений

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

@ -1,16 +1,10 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26228.4
VisualStudioVersion = 15.0.26228.9
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HtmlGenerator", "src\HtmlGenerator\HtmlGenerator.csproj", "{3CB763A5-A0C0-46B0-AEF5-020E731253C2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceIndexServer", "src\SourceIndexServer\SourceIndexServer.csproj", "{1AE38CC6-18C6-4AB7-8FE3-FEEB33329952}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HtmlGenerator.Tests", "src\HtmlGenerator.Tests\HtmlGenerator.Tests.csproj", "{609FD601-68F1-44DD-A5A9-0F57099C2677}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceIndexServer.Tests", "src\SourceIndexServer.Tests\SourceIndexServer.Tests.csproj", "{B9F60322-17E2-46BF-A98A-467F1D6A8469}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BuildLogParser", "src\BuildLogParser\BuildLogParser.csproj", "{57002F26-8D15-4CF7-A53D-61AE8CC5E836}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Common", "src\Common\Common.csproj", "{F13CD277-E86B-4BC6-9E93-39ED055A46DB}"
@ -19,6 +13,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitGlyph", "src\GitGlyph\Gi
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MEF", "src\MEF\MEF.csproj", "{E3411353-9F6B-4FB2-874E-106BF4896462}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SourceIndexServer", "src\SourceIndexServer\SourceIndexServer.csproj", "{018CE264-C76D-4448-BB0A-89A25F1088A2}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HtmlGenerator.Tests", "src\HtmlGenerator.Tests\HtmlGenerator.Tests.csproj", "{4EDEE974-055C-455E-866F-4BDCB734CB59}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceIndexServer.Tests", "src\SourceIndexServer.Tests\SourceIndexServer.Tests.csproj", "{37B5A89F-5436-45BE-B782-C476086A6AF8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -29,18 +29,6 @@ Global
{3CB763A5-A0C0-46B0-AEF5-020E731253C2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3CB763A5-A0C0-46B0-AEF5-020E731253C2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3CB763A5-A0C0-46B0-AEF5-020E731253C2}.Release|Any CPU.Build.0 = Release|Any CPU
{1AE38CC6-18C6-4AB7-8FE3-FEEB33329952}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1AE38CC6-18C6-4AB7-8FE3-FEEB33329952}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1AE38CC6-18C6-4AB7-8FE3-FEEB33329952}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1AE38CC6-18C6-4AB7-8FE3-FEEB33329952}.Release|Any CPU.Build.0 = Release|Any CPU
{609FD601-68F1-44DD-A5A9-0F57099C2677}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{609FD601-68F1-44DD-A5A9-0F57099C2677}.Debug|Any CPU.Build.0 = Debug|Any CPU
{609FD601-68F1-44DD-A5A9-0F57099C2677}.Release|Any CPU.ActiveCfg = Release|Any CPU
{609FD601-68F1-44DD-A5A9-0F57099C2677}.Release|Any CPU.Build.0 = Release|Any CPU
{B9F60322-17E2-46BF-A98A-467F1D6A8469}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B9F60322-17E2-46BF-A98A-467F1D6A8469}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B9F60322-17E2-46BF-A98A-467F1D6A8469}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B9F60322-17E2-46BF-A98A-467F1D6A8469}.Release|Any CPU.Build.0 = Release|Any CPU
{57002F26-8D15-4CF7-A53D-61AE8CC5E836}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{57002F26-8D15-4CF7-A53D-61AE8CC5E836}.Debug|Any CPU.Build.0 = Debug|Any CPU
{57002F26-8D15-4CF7-A53D-61AE8CC5E836}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -57,6 +45,18 @@ Global
{E3411353-9F6B-4FB2-874E-106BF4896462}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E3411353-9F6B-4FB2-874E-106BF4896462}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E3411353-9F6B-4FB2-874E-106BF4896462}.Release|Any CPU.Build.0 = Release|Any CPU
{018CE264-C76D-4448-BB0A-89A25F1088A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{018CE264-C76D-4448-BB0A-89A25F1088A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{018CE264-C76D-4448-BB0A-89A25F1088A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{018CE264-C76D-4448-BB0A-89A25F1088A2}.Release|Any CPU.Build.0 = Release|Any CPU
{4EDEE974-055C-455E-866F-4BDCB734CB59}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4EDEE974-055C-455E-866F-4BDCB734CB59}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4EDEE974-055C-455E-866F-4BDCB734CB59}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4EDEE974-055C-455E-866F-4BDCB734CB59}.Release|Any CPU.Build.0 = Release|Any CPU
{37B5A89F-5436-45BE-B782-C476086A6AF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{37B5A89F-5436-45BE-B782-C476086A6AF8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{37B5A89F-5436-45BE-B782-C476086A6AF8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{37B5A89F-5436-45BE-B782-C476086A6AF8}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

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

@ -4,6 +4,7 @@ using System.Linq;
namespace Microsoft.SourceBrowser.Common
{
#if NET46
public class AssertTraceListener : TraceListener
{
public static void Register()
@ -58,4 +59,5 @@ namespace Microsoft.SourceBrowser.Common
Log.Write(message);
}
}
#endif
}

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

@ -1,9 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<AssemblyName>Microsoft.SourceBrowser.Common</AssemblyName>
<TargetFramework>net46</TargetFramework>
<TargetFrameworks>netstandard1.6;net46</TargetFrameworks>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)' == 'net46'">
<DefineConstants>$(DefineConstants);NET46</DefineConstants>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Build" Version="15.1.548" />
</ItemGroup>
</Project>
</Project>

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

@ -289,7 +289,7 @@ namespace Microsoft.SourceBrowser.Common
private byte[] ToByteArray(bool[] bits)
{
BitArray array = new BitArray(bits);
ICollection array = new BitArray(bits);
byte[] result = new byte[(int)Math.Ceiling(array.Count / 8.0)];
array.CopyTo(result, 0);
return result;

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

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.2.1.0" newVersion="1.2.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

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

@ -1,175 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{609FD601-68F1-44DD-A5A9-0F57099C2677}</ProjectGuid>
<AssemblyName>Microsoft.SourceBrowser.HtmlGenerator.Tests</AssemblyName>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net46</TargetFramework>
</PropertyGroup>
<PropertyGroup>
<RootNamespace>Microsoft.SourceBrowser.HtmlGenerator.Tests</RootNamespace>
</PropertyGroup>
<Import Project="..\..\Common.props" />
<ItemGroup>
<Reference Include="Esent.Interop, Version=1.9.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\ManagedEsent.1.9.4\lib\net40\Esent.Interop.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CodeAnalysis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.CodeAnalysis.Common.2.0.0\lib\netstandard1.3\Microsoft.CodeAnalysis.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CodeAnalysis.CSharp, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.CodeAnalysis.CSharp.2.0.0\lib\netstandard1.3\Microsoft.CodeAnalysis.CSharp.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CodeAnalysis.CSharp.Workspaces, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.CodeAnalysis.CSharp.Workspaces.2.0.0\lib\netstandard1.3\Microsoft.CodeAnalysis.CSharp.Workspaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CodeAnalysis.Elfie, Version=0.10.6.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.CodeAnalysis.Elfie.0.10.6\lib\net46\Microsoft.CodeAnalysis.Elfie.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CodeAnalysis.Features, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.CodeAnalysis.Features.2.0.0\lib\netstandard1.3\Microsoft.CodeAnalysis.Features.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CodeAnalysis.VisualBasic, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.CodeAnalysis.VisualBasic.2.0.0\lib\netstandard1.3\Microsoft.CodeAnalysis.VisualBasic.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.CodeAnalysis.VisualBasic.Workspaces.2.0.0\lib\netstandard1.3\Microsoft.CodeAnalysis.VisualBasic.Workspaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CodeAnalysis.Workspaces, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.CodeAnalysis.Workspaces.Common.2.0.0\lib\net46\Microsoft.CodeAnalysis.Workspaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CodeAnalysis.Workspaces.Desktop, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.CodeAnalysis.Workspaces.Common.2.0.0\lib\net46\Microsoft.CodeAnalysis.Workspaces.Desktop.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.Language.Xml, Version=0.0.0.0, Culture=neutral, PublicKeyToken=d8943316a876e00f, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Language.Xml.1.0.15\lib\net45\Microsoft.Language.Xml.dll</HintPath>
</Reference>
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
<Reference Include="System" />
<Reference Include="System.AppContext, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.AppContext.4.3.0\lib\net46\System.AppContext.dll</HintPath>
</Reference>
<Reference Include="System.Collections.Immutable, Version=1.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Collections.Immutable.1.3.1\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.ComponentModel.Composition" />
<Reference Include="System.Composition.AttributedModel, Version=1.0.30.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Composition.1.0.30\lib\portable-net45+win8+wp8+wpa81\System.Composition.AttributedModel.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Composition.Convention, Version=1.0.30.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Composition.1.0.30\lib\portable-net45+win8+wp8+wpa81\System.Composition.Convention.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Composition.Hosting, Version=1.0.30.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Composition.1.0.30\lib\portable-net45+win8+wp8+wpa81\System.Composition.Hosting.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Composition.Runtime, Version=1.0.30.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Composition.1.0.30\lib\portable-net45+win8+wp8+wpa81\System.Composition.Runtime.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Composition.TypedParts, Version=1.0.30.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Composition.1.0.30\lib\portable-net45+win8+wp8+wpa81\System.Composition.TypedParts.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Console, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Console.4.3.0\lib\net46\System.Console.dll</HintPath>
</Reference>
<Reference Include="System.Core" />
<Reference Include="System.Diagnostics.FileVersionInfo, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Diagnostics.FileVersionInfo.4.3.0\lib\net46\System.Diagnostics.FileVersionInfo.dll</HintPath>
</Reference>
<Reference Include="System.Diagnostics.StackTrace, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Diagnostics.StackTrace.4.3.0\lib\net46\System.Diagnostics.StackTrace.dll</HintPath>
</Reference>
<Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
</Reference>
<Reference Include="System.IO.FileSystem, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.IO.FileSystem.4.3.0\lib\net46\System.IO.FileSystem.dll</HintPath>
</Reference>
<Reference Include="System.IO.FileSystem.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.IO.FileSystem.Primitives.4.3.0\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Reflection.Metadata, Version=1.4.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Reflection.Metadata.1.4.2\lib\portable-net45+win8\System.Reflection.Metadata.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net46\System.Security.Cryptography.Algorithms.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net46\System.Security.Cryptography.X509Certificates.dll</HintPath>
</Reference>
<Reference Include="System.Text.Encoding.CodePages, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Text.Encoding.CodePages.4.3.0\lib\net46\System.Text.Encoding.CodePages.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Thread, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Threading.Thread.4.3.0\lib\net46\System.Threading.Thread.dll</HintPath>
</Reference>
<Reference Include="System.ValueTuple, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.ValueTuple.4.3.0\lib\netstandard1.0\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Xml.ReaderWriter, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Xml.ReaderWriter.4.3.0\lib\net46\System.Xml.ReaderWriter.dll</HintPath>
</Reference>
<Reference Include="System.Xml.XmlDocument, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Xml.XmlDocument.4.3.0\lib\net46\System.Xml.XmlDocument.dll</HintPath>
</Reference>
<Reference Include="System.Xml.XPath, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Xml.XPath.4.3.0\lib\net46\System.Xml.XPath.dll</HintPath>
</Reference>
<Reference Include="System.Xml.XPath.XDocument, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Xml.XPath.XDocument.4.3.0\lib\net46\System.Xml.XPath.XDocument.dll</HintPath>
</Reference>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
<PackageReference Include="MSTest.TestAdapter" Version="1.1.11" />
<PackageReference Include="MSTest.TestFramework" Version="1.1.11" />
<PackageReference Include="System.IO.FileSystem" Version="4.3.0" />
</ItemGroup>
<ItemGroup>
<Compile Include="MetadataAsSourceUnitTests.cs" />
<Compile Include="MSBuildExpressionParserTests.cs" />
<Compile Include="PathsUnitTests.cs" />
<Compile Include="PrepareRangesTests.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="RedirectFileTests.cs" />
<Compile Include="SerializationUnitTests.cs" />
<Compile Include="SymbolIdUnitTests.cs" />
<Compile Include="TestNormalize.cs" />
<Compile Include="TextUtilitiesTests.cs" />
<ProjectReference Include="..\Common\Common.csproj" />
<ProjectReference Include="..\HtmlGenerator\HtmlGenerator.csproj" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Common\Common.csproj">
<Project>{f13cd277-e86b-4bc6-9e93-39ed055a46db}</Project>
<Name>Common</Name>
</ProjectReference>
<ProjectReference Include="..\HtmlGenerator\HtmlGenerator.csproj">
<Project>{3cb763a5-a0c0-46b0-aef5-020e731253c2}</Project>
<Name>HtmlGenerator</Name>
</ProjectReference>
<ProjectReference Include="..\SourceIndexServer\SourceIndexServer.csproj">
<Project>{1ae38cc6-18c6-4ab7-8fe3-feeb33329952}</Project>
<Name>SourceIndexServer</Name>
</ProjectReference>
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
</ItemGroup>
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config">
<SubType>Designer</SubType>
<None Update="App.config">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<Analyzer Include="..\..\packages\Microsoft.CodeAnalysis.Analyzers.1.1.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.Analyzers.dll" />
<Analyzer Include="..\..\packages\Microsoft.CodeAnalysis.Analyzers.1.1.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.CSharp.Analyzers.dll" />
</ItemGroup>
<Import Project="..\..\Common.targets" />
</Project>
</Project>

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

@ -1,36 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Microsoft.SourceBrowser.HtmlGenerator.Tests")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Microsoft.SourceBrowser.HtmlGenerator.Tests")]
[assembly: AssemblyCopyright("Copyright © 2014")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("9a83451c-27f2-47b8-bc7f-0b017550e34b")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

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

@ -1,99 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Composition.AttributedModel" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.30.0" newVersion="1.0.30.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Composition.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.30.0" newVersion="1.0.30.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Composition.TypedParts" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.30.0" newVersion="1.0.30.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Composition.Hosting" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.30.0" newVersion="1.0.30.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis.Features" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.2.0.0" newVersion="1.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis.Workspaces" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.2.1.0" newVersion="1.2.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis.CSharp" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.2.0.0" newVersion="1.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis.CSharp.Workspaces" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.2.0.0" newVersion="1.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis.VisualBasic" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.2.0.0" newVersion="1.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis.VisualBasic.Workspaces" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.2.0.0" newVersion="1.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Build" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-15.1.0.0" newVersion="15.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Build.Framework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-15.1.0.0" newVersion="15.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Reflection.Metadata" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.4.1.0" newVersion="1.4.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.FileSystem.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.FileVersionInfo" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Thread" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

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

@ -1,55 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="ManagedEsent" version="1.9.4" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.Analyzers" version="1.1.0" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.Common" version="2.0.0" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.CSharp" version="2.0.0" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.CSharp.Workspaces" version="2.0.0" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.Elfie" version="0.10.6" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.Features" version="2.0.0" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.VisualBasic" version="2.0.0" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.VisualBasic.Workspaces" version="2.0.0" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.Workspaces.Common" version="2.0.0" targetFramework="net46" />
<package id="Microsoft.Composition" version="1.0.30" targetFramework="net46" />
<package id="Microsoft.Language.Xml" version="1.0.15" targetFramework="net46" />
<package id="System.AppContext" version="4.3.0" targetFramework="net46" />
<package id="System.Collections" version="4.3.0" targetFramework="net46" />
<package id="System.Collections.Concurrent" version="4.3.0" targetFramework="net46" />
<package id="System.Collections.Immutable" version="1.3.1" targetFramework="net46" />
<package id="System.Console" version="4.3.0" targetFramework="net46" />
<package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="net46" />
<package id="System.Diagnostics.FileVersionInfo" version="4.3.0" targetFramework="net46" />
<package id="System.Diagnostics.StackTrace" version="4.3.0" targetFramework="net46" />
<package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="net46" />
<package id="System.Dynamic.Runtime" version="4.3.0" targetFramework="net46" />
<package id="System.Globalization" version="4.3.0" targetFramework="net46" />
<package id="System.IO.Compression" version="4.3.0" targetFramework="net46" />
<package id="System.IO.FileSystem" version="4.3.0" targetFramework="net46" />
<package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="net46" />
<package id="System.Linq" version="4.3.0" targetFramework="net46" />
<package id="System.Linq.Expressions" version="4.3.0" targetFramework="net46" />
<package id="System.Reflection" version="4.3.0" targetFramework="net46" />
<package id="System.Reflection.Metadata" version="1.4.2" targetFramework="net46" />
<package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="net46" />
<package id="System.Runtime" version="4.3.0" targetFramework="net46" />
<package id="System.Runtime.Extensions" version="4.3.0" targetFramework="net46" />
<package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="net46" />
<package id="System.Runtime.Numerics" version="4.3.0" targetFramework="net46" />
<package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net46" />
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net46" />
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net46" />
<package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="net46" />
<package id="System.Text.Encoding" version="4.3.0" targetFramework="net46" />
<package id="System.Text.Encoding.CodePages" version="4.3.0" targetFramework="net46" />
<package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="net46" />
<package id="System.Threading" version="4.3.0" targetFramework="net46" />
<package id="System.Threading.Tasks" version="4.3.0" targetFramework="net46" />
<package id="System.Threading.Tasks.Parallel" version="4.3.0" targetFramework="net46" />
<package id="System.Threading.Thread" version="4.3.0" targetFramework="net46" />
<package id="System.ValueTuple" version="4.3.0" targetFramework="net46" />
<package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="net46" />
<package id="System.Xml.XDocument" version="4.3.0" targetFramework="net46" />
<package id="System.Xml.XmlDocument" version="4.3.0" targetFramework="net46" />
<package id="System.Xml.XPath" version="4.3.0" targetFramework="net46" />
<package id="System.Xml.XPath.XDocument" version="4.3.0" targetFramework="net46" />
</packages>

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

@ -1,27 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.net>
<defaultProxy useDefaultCredentials="true" />
</system.net>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Composition.AttributedModel" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.30.0" newVersion="1.0.30.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Composition.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.30.0" newVersion="1.0.30.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Composition.TypedParts" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.30.0" newVersion="1.0.30.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Composition.Hosting" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.30.0" newVersion="1.0.30.0" />
</dependentAssembly>
<dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Build" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-99.9.9.9" newVersion="15.1.0.0" />
</dependentAssembly>
@ -37,74 +18,6 @@
<assemblyIdentity name="Microsoft.Build.Utilities.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-99.9.9.9" newVersion="15.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis.Workspaces" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.2.1.0" newVersion="1.2.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis.CSharp" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis.CSharp.Workspaces" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Reflection.Metadata" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.4.1.0" newVersion="1.4.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis.VisualBasic" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis.VisualBasic.Workspaces" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.FileSystem.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.FileVersionInfo" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Thread" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis.Features" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
</configuration>

Разница между файлами не показана из-за своего большого размера Загрузить разницу

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

@ -24,6 +24,6 @@
<file src="*.dll" target="tools" />
<file src="TypeScriptSupport\*.*" target="tools\TypeScriptSupport" />
<file src="web\*.*" target="tools\web" />
<file src="web\content\icons\*.png" target="tools\web\content\icons" />
<file src="web\**\*.*" target="tools\web" />
</files>
</package>

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

@ -86,7 +86,7 @@ namespace Microsoft.SourceBrowser.HtmlGenerator
Directory.Delete(output, recursive: true);
}
var json = JsonConvert.SerializeObject(new { fileNames, libFile });
var json = JsonConvert.SerializeObject(new { fileNames, libFile, outputFolder = output });
var argumentsJson = Path.Combine(Common.Paths.BaseAppFolder, "TypeScriptAnalyzerArguments.json");
File.WriteAllText(argumentsJson, json);

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

@ -301,110 +301,6 @@ namespace Microsoft.SourceBrowser.HtmlGenerator
Federation federation)
{
Markup.WriteReferencesNotFoundFile(destinationFolder);
string sourcePath = Assembly.GetEntryAssembly().Location;
sourcePath = Path.GetDirectoryName(sourcePath);
string basePath = sourcePath;
sourcePath = Path.Combine(sourcePath, @"Web");
if (!Directory.Exists(sourcePath))
{
return;
}
sourcePath = Path.GetFullPath(sourcePath);
FileUtilities.CopyDirectory(sourcePath, destinationFolder);
StampOverviewHtmlWithDate(destinationFolder);
if (emitAssemblyList)
{
ToggleSolutionExplorerOff(destinationFolder);
}
SetExternalUrlMap(destinationFolder, federation);
DeployBin(basePath, destinationFolder);
}
private void StampOverviewHtmlWithDate(string destinationFolder)
{
var overviewHtml = Path.Combine(destinationFolder, "overview.html");
if (File.Exists(overviewHtml))
{
var text = File.ReadAllText(overviewHtml);
text = StampOverviewHtmlText(text);
File.WriteAllText(overviewHtml, text);
}
}
private string StampOverviewHtmlText(string text)
{
text = text.Replace("$(Date)", DateTime.Today.ToString("MMMM d", CultureInfo.InvariantCulture));
return text;
}
private void ToggleSolutionExplorerOff(string destinationFolder)
{
var scriptsJs = Path.Combine(destinationFolder, "scripts.js");
if (File.Exists(scriptsJs))
{
var text = File.ReadAllText(scriptsJs);
text = text.Replace("/*USE_SOLUTION_EXPLORER*/true/*USE_SOLUTION_EXPLORER*/", "false");
File.WriteAllText(scriptsJs, text);
}
}
private void SetExternalUrlMap(string destinationFolder, Federation federation)
{
var scriptsJs = Path.Combine(destinationFolder, "scripts.js");
if (File.Exists(scriptsJs))
{
var sb = new StringBuilder();
foreach (var server in federation.GetServers())
{
if (sb.Length > 0)
{
sb.Append(",");
}
sb.Append("\"");
sb.Append(server);
sb.Append("\"");
}
if (sb.Length > 0)
{
var text = File.ReadAllText(scriptsJs);
text = Regex.Replace(text, @"/\*EXTERNAL_URL_MAP\*/.*/\*EXTERNAL_URL_MAP\*/", sb.ToString());
File.WriteAllText(scriptsJs, text);
}
}
}
private void DeployBin(string sourcePath, string destinationFolder)
{
var files = new[]
{
"Microsoft.SourceBrowser.Common.dll",
"Microsoft.SourceBrowser.SourceIndexServer.dll",
"Microsoft.Web.Infrastructure.dll",
"Newtonsoft.Json.dll",
"System.Net.Http.Formatting.dll",
"System.Web.Helpers.dll",
"System.Web.Http.dll",
"System.Web.Http.WebHost.dll",
"System.Web.Mvc.dll",
"System.Web.Razor.dll",
"System.Web.WebPages.dll",
"System.Web.WebPages.Deployment.dll",
"System.Web.WebPages.Razor.dll",
};
foreach (var file in files)
{
FileUtilities.CopyFile(
Path.Combine(sourcePath, file),
Path.Combine(destinationFolder, "bin", file));
}
}
public void CreateProjectMap(string outputPath = null)

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

@ -1,7 +1,10 @@
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Globalization;
using System.IO;
using System.Reflection;
using System.Text;
using System.Text.RegularExpressions;
using Microsoft.CodeAnalysis;
using Microsoft.SourceBrowser.Common;
@ -162,12 +165,18 @@ namespace Microsoft.SourceBrowser.HtmlGenerator
Paths.SolutionDestinationFolder = Path.Combine(Microsoft.SourceBrowser.Common.Paths.BaseAppFolder, "Index");
}
Log.ErrorLogFilePath = Path.Combine(Paths.SolutionDestinationFolder, Log.ErrorLogFile);
Log.MessageLogFilePath = Path.Combine(Paths.SolutionDestinationFolder, Log.MessageLogFile);
var websiteDestination = Paths.SolutionDestinationFolder;
// Warning, this will delete and recreate your destination folder
Paths.PrepareDestinationFolder(force);
Paths.SolutionDestinationFolder = Path.Combine(Paths.SolutionDestinationFolder, "index"); //The actual index files need to be written to the "index" subdirectory
Directory.CreateDirectory(Paths.SolutionDestinationFolder);
Log.ErrorLogFilePath = Path.Combine(Paths.SolutionDestinationFolder, Log.ErrorLogFile);
Log.MessageLogFilePath = Path.Combine(Paths.SolutionDestinationFolder, Log.MessageLogFile);
using (Disposable.Timing("Generating website"))
{
var federation = new Federation();
@ -186,6 +195,7 @@ namespace Microsoft.SourceBrowser.HtmlGenerator
IndexSolutions(projects, properties, federation, serverPathMappings, pluginBlacklist);
FinalizeProjects(emitAssemblyList, federation);
WebsiteFinalizer.Finalize(websiteDestination, emitAssemblyList, federation);
}
}
@ -292,4 +302,89 @@ namespace Microsoft.SourceBrowser.HtmlGenerator
projectGenerator.GenerateNonProjectFolder();
}
}
internal static class WebsiteFinalizer
{
public static void Finalize(string destinationFolder, bool emitAssemblyList, Federation federation)
{
string sourcePath = Assembly.GetEntryAssembly().Location;
sourcePath = Path.GetDirectoryName(sourcePath);
string basePath = sourcePath;
sourcePath = Path.Combine(sourcePath, @"Web");
if (!Directory.Exists(sourcePath))
{
return;
}
sourcePath = Path.GetFullPath(sourcePath);
FileUtilities.CopyDirectory(sourcePath, destinationFolder);
StampOverviewHtmlWithDate(destinationFolder);
if (emitAssemblyList)
{
ToggleSolutionExplorerOff(destinationFolder);
}
SetExternalUrlMap(destinationFolder, federation);
}
private static void StampOverviewHtmlWithDate(string destinationFolder)
{
var source = Path.Combine(destinationFolder, "wwwroot/overview.html");
var dst = Path.Combine(destinationFolder, "index/overview.html");
if (File.Exists(source))
{
var text = File.ReadAllText(source);
text = StampOverviewHtmlText(text);
File.WriteAllText(dst, text);
}
}
private static string StampOverviewHtmlText(string text)
{
text = text.Replace("$(Date)", DateTime.Today.ToString("MMMM d", CultureInfo.InvariantCulture));
return text;
}
private static void ToggleSolutionExplorerOff(string destinationFolder)
{
var source = Path.Combine(destinationFolder, "wwwroot/scripts.js");
var dst = Path.Combine(destinationFolder, "index/scripts.js");
if (File.Exists(source))
{
var text = File.ReadAllText(source);
text = text.Replace("/*USE_SOLUTION_EXPLORER*/true/*USE_SOLUTION_EXPLORER*/", "false");
File.WriteAllText(dst, text);
}
}
private static void SetExternalUrlMap(string destinationFolder, Federation federation)
{
var source = Path.Combine(destinationFolder, "wwwroot/scripts.js");
var dst = Path.Combine(destinationFolder, "index/scripts.js");
if (File.Exists(source))
{
var sb = new StringBuilder();
foreach (var server in federation.GetServers())
{
if (sb.Length > 0)
{
sb.Append(",");
}
sb.Append("\"");
sb.Append(server);
sb.Append("\"");
}
if (sb.Length > 0)
{
var text = File.ReadAllText(source);
text = Regex.Replace(text, @"/\*EXTERNAL_URL_MAP\*/.*/\*EXTERNAL_URL_MAP\*/", sb.ToString());
File.WriteAllText(dst, text);
}
}
}
}
}

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

@ -0,0 +1,8 @@
{
"profiles": {
"HtmlGenerator": {
"commandName": "Project",
"commandLineArgs": "..\\..\\TestCode\\TestSolution.sln"
}
}
}

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

@ -1,70 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="ExceptionAnalysis.Diagnostics" version="1.0.0.39796" targetFramework="net46" />
<package id="ManagedEsent" version="1.9.4" targetFramework="net46" />
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net46" />
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net46" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net46" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net46" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net46" />
<package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net46" />
<package id="Microsoft.Build" version="15.1.548" targetFramework="net46" />
<package id="Microsoft.Build.Framework" version="15.1.548" targetFramework="net46" />
<package id="Microsoft.Build.Tasks.Core" version="15.1.548" targetFramework="net46" />
<package id="Microsoft.Build.Utilities.Core" version="15.1.548" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.Analyzers" version="1.1.0" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.Common" version="2.0.0" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.CSharp" version="2.0.0" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.CSharp.Features" version="2.0.0" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.CSharp.Workspaces" version="2.0.0" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.Elfie" version="0.10.6" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.Features" version="2.0.0" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.VisualBasic" version="2.0.0" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.VisualBasic.Features" version="2.0.0" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.VisualBasic.Workspaces" version="2.0.0" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.Workspaces.Common" version="2.0.0" targetFramework="net46" />
<package id="Microsoft.Composition" version="1.0.30" targetFramework="net46" />
<package id="Microsoft.Language.Xml" version="1.0.15" targetFramework="net46" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net46" />
<package id="Newtonsoft.Json" version="6.0.4" targetFramework="net46" />
<package id="System.AppContext" version="4.3.0" targetFramework="net46" />
<package id="System.Collections" version="4.3.0" targetFramework="net46" />
<package id="System.Collections.Concurrent" version="4.3.0" targetFramework="net46" />
<package id="System.Collections.Immutable" version="1.3.1" targetFramework="net46" />
<package id="System.Console" version="4.3.0" targetFramework="net46" />
<package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="net46" />
<package id="System.Diagnostics.FileVersionInfo" version="4.3.0" targetFramework="net46" />
<package id="System.Diagnostics.StackTrace" version="4.3.0" targetFramework="net46" />
<package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="net46" />
<package id="System.Dynamic.Runtime" version="4.3.0" targetFramework="net46" />
<package id="System.Globalization" version="4.3.0" targetFramework="net46" />
<package id="System.IO.Compression" version="4.3.0" targetFramework="net46" />
<package id="System.IO.FileSystem" version="4.3.0" targetFramework="net46" />
<package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="net46" />
<package id="System.Linq" version="4.3.0" targetFramework="net46" />
<package id="System.Linq.Expressions" version="4.3.0" targetFramework="net46" />
<package id="System.Reflection" version="4.3.0" targetFramework="net46" />
<package id="System.Reflection.Metadata" version="1.4.2" targetFramework="net46" />
<package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="net46" />
<package id="System.Runtime" version="4.3.0" targetFramework="net46" />
<package id="System.Runtime.Extensions" version="4.3.0" targetFramework="net46" />
<package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="net46" />
<package id="System.Runtime.Numerics" version="4.3.0" targetFramework="net46" />
<package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net46" />
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net46" />
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net46" />
<package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="net46" />
<package id="System.Text.Encoding" version="4.3.0" targetFramework="net46" />
<package id="System.Text.Encoding.CodePages" version="4.3.0" targetFramework="net46" />
<package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="net46" />
<package id="System.Threading" version="4.3.0" targetFramework="net46" />
<package id="System.Threading.Tasks" version="4.3.0" targetFramework="net46" />
<package id="System.Threading.Tasks.Parallel" version="4.3.0" targetFramework="net46" />
<package id="System.Threading.Thread" version="4.3.0" targetFramework="net46" />
<package id="System.ValueTuple" version="4.3.0" targetFramework="net46" />
<package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="net46" />
<package id="System.Xml.XDocument" version="4.3.0" targetFramework="net46" />
<package id="System.Xml.XmlDocument" version="4.3.0" targetFramework="net46" />
<package id="System.Xml.XPath" version="4.3.0" targetFramework="net46" />
<package id="System.Xml.XPath.XDocument" version="4.3.0" targetFramework="net46" />
</packages>

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

@ -1,5 +1,7 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using Microsoft.SourceBrowser.Common;
using Microsoft.SourceBrowser.SourceIndexServer;
using Microsoft.SourceBrowser.SourceIndexServer.Models;
@ -193,6 +195,11 @@ namespace Microsoft.SourceBrowser.HtmlGenerator.Tests
}
}
static IndexUnitTests()
{
Index.SetRootPath(Path.GetDirectoryName(typeof(IndexUnitTests).GetTypeInfo().Assembly.Location));
}
public void EndToEnd(string queryString, string expectedHtml)
{
var testData = new List<DeclaredSymbolInfo>

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

@ -1,36 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("UnitTests")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("MSIT")]
[assembly: AssemblyProduct("UnitTests")]
[assembly: AssemblyCopyright("Copyright © MSIT 2012")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("12ae9c1b-085c-4aae-ae33-25a4bf7e5581")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

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

@ -1,44 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{B9F60322-17E2-46BF-A98A-467F1D6A8469}</ProjectGuid>
<AssemblyName>Microsoft.SourceBrowser.SourceIndexServer.Tests</AssemblyName>
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
<IsCodedUITest>False</IsCodedUITest>
<TestProjectType>UnitTest</TestProjectType>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup>
<PropertyGroup>
<RootNamespace>Microsoft.SourceBrowser.SourceIndexServer.Tests</RootNamespace>
</PropertyGroup>
<Import Project="..\..\Common.props" />
<ItemGroup>
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework" />
<Reference Include="System" />
<Content Include="..\HtmlGenerator\Web\index\AffiliateLinks.txt" Link="AffiliateLinks.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<Compile Include="IndexLoaderUnitTests.cs" />
<Compile Include="IndexUnitTests.cs" />
<Compile Include="QueryUnitTests.cs" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
<PackageReference Include="MSTest.TestAdapter" Version="1.1.11" />
<PackageReference Include="MSTest.TestFramework" Version="1.1.11" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Common\Common.csproj">
<Project>{f13cd277-e86b-4bc6-9e93-39ed055a46db}</Project>
<Name>Common</Name>
</ProjectReference>
<ProjectReference Include="..\SourceIndexServer\SourceIndexServer.csproj">
<Project>{1ae38cc6-18c6-4ab7-8fe3-feeb33329952}</Project>
<Name>SourceIndexServer</Name>
</ProjectReference>
<ProjectReference Include="..\Common\Common.csproj" />
<ProjectReference Include="..\SourceIndexServer\SourceIndexServer.csproj" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
</ItemGroup>
<ItemGroup>
<Analyzer Include="..\..\packages\Microsoft.CodeAnalysis.Analyzers.1.1.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.Analyzers.dll" />
<Analyzer Include="..\..\packages\Microsoft.CodeAnalysis.Analyzers.1.1.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.CSharp.Analyzers.dll" />
</ItemGroup>
<Import Project="..\..\Common.targets" />
</Project>
</Project>

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

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Composition.AttributedModel" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.30.0" newVersion="1.0.30.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Composition.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.30.0" newVersion="1.0.30.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Composition.TypedParts" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.30.0" newVersion="1.0.30.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Composition.Hosting" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.30.0" newVersion="1.0.30.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

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

@ -1,12 +0,0 @@
using System.Web.Mvc;
namespace Microsoft.SourceBrowser.SourceIndexServer
{
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
}
}

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

@ -1,20 +0,0 @@
using System.Web.Mvc;
using System.Web.Routing;
namespace Microsoft.SourceBrowser.SourceIndexServer
{
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("");
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
}

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

@ -1,16 +0,0 @@
using System.Web.Http;
namespace Microsoft.SourceBrowser.SourceIndexServer
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
}

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

@ -1,24 +1,29 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Web.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.SourceBrowser.Common;
using Microsoft.SourceBrowser.SourceIndexServer.Models;
namespace Microsoft.SourceBrowser.SourceIndexServer.Controllers
{
public class SymbolsController : ApiController
public class SymbolsController : Controller
{
private readonly IServiceProvider _provider;
private const int MaxInputLength = 260;
private static readonly Dictionary<string, int> usages = new Dictionary<string, int>(StringComparer.OrdinalIgnoreCase);
private static readonly DateTime serviceStarted = DateTime.UtcNow;
private static int requestsServed = 0;
[HttpGet]
public HttpResponseMessage GetHtml(string symbol)
public SymbolsController(IServiceProvider provider)
{
_provider = provider;
}
[HttpGet("/api/symbols")]
public IActionResult GetHtml(string symbol)
{
string result = null;
try
@ -30,9 +35,7 @@ namespace Microsoft.SourceBrowser.SourceIndexServer.Controllers
result = Markup.Note(ex.ToString());
}
var response = new HttpResponseMessage(HttpStatusCode.OK);
response.Content = new StringContent(result, Encoding.UTF8, "text/html");
return response;
return Content(result, "text/html", Encoding.UTF8);
}
private string UpdateUsages()
@ -53,7 +56,7 @@ namespace Microsoft.SourceBrowser.SourceIndexServer.Controllers
}
}
private static string GetHtmlCore(string symbol, string usageStats = null)
private string GetHtmlCore(string symbol, string usageStats = null)
{
if (symbol == null || symbol.Length < 3)
{
@ -72,7 +75,7 @@ namespace Microsoft.SourceBrowser.SourceIndexServer.Controllers
{
Stopwatch sw = Stopwatch.StartNew();
var index = Index.Instance;
var index = _provider.GetRequiredService<Index>();
var query = index.Get(symbol);
var result = new ResultsHtmlGenerator(query).Generate(sw, index, usageStats);

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

@ -1 +0,0 @@
<%@ Application Codebehind="Global.asax.cs" Inherits="Microsoft.SourceBrowser.SourceIndexServer.WebApiApplication" Language="C#" %>

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

@ -1,18 +0,0 @@
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Routing;
namespace Microsoft.SourceBrowser.SourceIndexServer
{
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
}
}

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

@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Threading.Tasks;
using System.Web.Hosting;
using Microsoft.SourceBrowser.Common;
namespace Microsoft.SourceBrowser.SourceIndexServer.Models
@ -12,8 +11,23 @@ namespace Microsoft.SourceBrowser.SourceIndexServer.Models
{
public const int MaxRawResults = 100;
private static Index instance;
private static readonly object gate = new object();
public static string RootPath { get; private set; }
// For testing
public static void SetRootPath(string rootPath)
{
RootPath = rootPath;
}
public Index()
{
}
public Index(string rootPath)
{
RootPath = rootPath;
Task.Run(() => IndexLoader.ReadIndex(this, rootPath));
}
internal void ClearAll()
{
@ -45,38 +59,6 @@ namespace Microsoft.SourceBrowser.SourceIndexServer.Models
public double progress = 0.0;
public string loadErrorMessage = null;
public static readonly string RootPath = HostingEnvironment.ApplicationPhysicalPath;
public static Index Instance
{
get
{
if (instance == null)
{
lock (gate)
{
if (instance == null)
{
instance = new Index();
Task.Run(() => IndexLoader.ReadIndex(instance, RootPath));
AppDomain.CurrentDomain.DomainUnload += CurrentDomain_DomainUnload;
}
}
}
return instance;
}
}
private static void CurrentDomain_DomainUnload(object sender, EventArgs e)
{
if (instance != null)
{
instance.Dispose();
instance = null;
}
}
public Query Get(string queryString)
{
if (!indexFinishedPopulating)

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

@ -16,7 +16,7 @@ namespace Microsoft.SourceBrowser.SourceIndexServer
{
AssemblyNumber = symbolInfo.AssemblyNumber;
Glyph = symbolInfo.Glyph;
Name = string.Intern(symbolInfo.Name);
Name = symbolInfo.Name;
ID = symbolInfo.ID;
Description = IntPtr.Zero;
}

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

@ -1,5 +1,6 @@
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
namespace Microsoft.SourceBrowser.SourceIndexServer
@ -92,7 +93,7 @@ namespace Microsoft.SourceBrowser.SourceIndexServer
return text;
}
text = System.Security.SecurityElement.Escape(text);
text = WebUtility.HtmlEncode(text);
// HTML doesn't support XML's &apos;
// need to use &#39; instead

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

@ -0,0 +1,21 @@
using System.IO;
using Microsoft.AspNetCore.Hosting;
namespace Microsoft.SourceBrowser.SourceIndexServer
{
public class Program
{
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.UseApplicationInsights()
.Build();
host.Run();
}
}
}

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

@ -1,35 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Microsoft.SourceBrowser.SourceIndexServer")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("Microsoft.SourceBrowser.SourceIndexServer")]
[assembly: AssemblyCopyright("Copyright © MSIT 2012")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("cdeb3eb1-bb2d-4b45-9d71-cbb1c281c351")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

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

@ -0,0 +1,27 @@
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:58320/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"SourceIndexServer": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "http://localhost:58321"
}
}
}

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

@ -1,401 +1,278 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<ProjectGuid>{1AE38CC6-18C6-4AB7-8FE3-FEEB33329952}</ProjectGuid>
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<TargetFramework>netcoreapp1.1</TargetFramework>
<AssemblyName>Microsoft.SourceBrowser.SourceIndexServer</AssemblyName>
<MvcBuildViews>false</MvcBuildViews>
<UseIISExpress>true</UseIISExpress>
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication />
<IISExpressWindowsAuthentication />
<IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile />
</PropertyGroup>
<PropertyGroup>
<RootNamespace>Microsoft.SourceBrowser.SourceIndexServer</RootNamespace>
</PropertyGroup>
<Import Project="..\..\Common.props" />
<PropertyGroup>
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Web.Infrastructure">
<HintPath>..\..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json">
<HintPath>..\..\packages\Newtonsoft.Json.6.0.4\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Net.Http.Formatting">
<HintPath>..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
</Reference>
<Reference Include="System.Web" />
<Reference Include="System.Web.ApplicationServices" />
<Reference Include="System.Web.DynamicData" />
<Reference Include="System.Web.Entity" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Web.Helpers">
<Private>True</Private>
<HintPath>..\..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll</HintPath>
</Reference>
<Reference Include="System.Web.Http">
<HintPath>..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll</HintPath>
</Reference>
<Reference Include="System.Web.Http.WebHost">
<HintPath>..\..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll</HintPath>
</Reference>
<Reference Include="System.Web.Mvc">
<HintPath>..\..\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll</HintPath>
</Reference>
<Reference Include="System.Web.Optimization">
<HintPath>..\..\packages\Microsoft.AspNet.Web.Optimization.1.1.3\lib\net40\System.Web.Optimization.dll</HintPath>
</Reference>
<Reference Include="System.Web.Providers">
<HintPath>..\..\packages\Microsoft.AspNet.Providers.Core.2.0.0\lib\net40\System.Web.Providers.dll</HintPath>
</Reference>
<Reference Include="System.Web.Razor">
<HintPath>..\..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages">
<HintPath>..\..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Deployment">
<HintPath>..\..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Deployment.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Razor">
<HintPath>..\..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Content Include="wwwroot\content\icons\0.png" />
<Content Include="wwwroot\content\icons\1.png" />
<Content Include="wwwroot\content\icons\10.png" />
<Content Include="wwwroot\content\icons\100.png" />
<Content Include="wwwroot\content\icons\101.png" />
<Content Include="wwwroot\content\icons\102.png" />
<Content Include="wwwroot\content\icons\103.png" />
<Content Include="wwwroot\content\icons\104.png" />
<Content Include="wwwroot\content\icons\105.png" />
<Content Include="wwwroot\content\icons\106.png" />
<Content Include="wwwroot\content\icons\107.png" />
<Content Include="wwwroot\content\icons\108.png" />
<Content Include="wwwroot\content\icons\109.png" />
<Content Include="wwwroot\content\icons\11.png" />
<Content Include="wwwroot\content\icons\110.png" />
<Content Include="wwwroot\content\icons\111.png" />
<Content Include="wwwroot\content\icons\112.png" />
<Content Include="wwwroot\content\icons\113.png" />
<Content Include="wwwroot\content\icons\114.png" />
<Content Include="wwwroot\content\icons\115.png" />
<Content Include="wwwroot\content\icons\116.png" />
<Content Include="wwwroot\content\icons\117.png" />
<Content Include="wwwroot\content\icons\118.png" />
<Content Include="wwwroot\content\icons\119.png" />
<Content Include="wwwroot\content\icons\12.png" />
<Content Include="wwwroot\content\icons\120.png" />
<Content Include="wwwroot\content\icons\121.png" />
<Content Include="wwwroot\content\icons\122.png" />
<Content Include="wwwroot\content\icons\123.png" />
<Content Include="wwwroot\content\icons\124.png" />
<Content Include="wwwroot\content\icons\125.png" />
<Content Include="wwwroot\content\icons\126.png" />
<Content Include="wwwroot\content\icons\127.png" />
<Content Include="wwwroot\content\icons\128.png" />
<Content Include="wwwroot\content\icons\129.png" />
<Content Include="wwwroot\content\icons\13.png" />
<Content Include="wwwroot\content\icons\130.png" />
<Content Include="wwwroot\content\icons\131.png" />
<Content Include="wwwroot\content\icons\132.png" />
<Content Include="wwwroot\content\icons\133.png" />
<Content Include="wwwroot\content\icons\134.png" />
<Content Include="wwwroot\content\icons\135.png" />
<Content Include="wwwroot\content\icons\136.png" />
<Content Include="wwwroot\content\icons\137.png" />
<Content Include="wwwroot\content\icons\138.png" />
<Content Include="wwwroot\content\icons\139.png" />
<Content Include="wwwroot\content\icons\14.png" />
<Content Include="wwwroot\content\icons\140.png" />
<Content Include="wwwroot\content\icons\141.png" />
<Content Include="wwwroot\content\icons\142.png" />
<Content Include="wwwroot\content\icons\143.png" />
<Content Include="wwwroot\content\icons\144.png" />
<Content Include="wwwroot\content\icons\145.png" />
<Content Include="wwwroot\content\icons\146.png" />
<Content Include="wwwroot\content\icons\147.png" />
<Content Include="wwwroot\content\icons\148.png" />
<Content Include="wwwroot\content\icons\149.png" />
<Content Include="wwwroot\content\icons\15.png" />
<Content Include="wwwroot\content\icons\150.png" />
<Content Include="wwwroot\content\icons\151.png" />
<Content Include="wwwroot\content\icons\152.png" />
<Content Include="wwwroot\content\icons\153.png" />
<Content Include="wwwroot\content\icons\154.png" />
<Content Include="wwwroot\content\icons\155.png" />
<Content Include="wwwroot\content\icons\156.png" />
<Content Include="wwwroot\content\icons\157.png" />
<Content Include="wwwroot\content\icons\158.png" />
<Content Include="wwwroot\content\icons\159.png" />
<Content Include="wwwroot\content\icons\16.png" />
<Content Include="wwwroot\content\icons\160.png" />
<Content Include="wwwroot\content\icons\161.png" />
<Content Include="wwwroot\content\icons\162.png" />
<Content Include="wwwroot\content\icons\163.png" />
<Content Include="wwwroot\content\icons\164.png" />
<Content Include="wwwroot\content\icons\165.png" />
<Content Include="wwwroot\content\icons\166.png" />
<Content Include="wwwroot\content\icons\167.png" />
<Content Include="wwwroot\content\icons\168.png" />
<Content Include="wwwroot\content\icons\169.png" />
<Content Include="wwwroot\content\icons\17.png" />
<Content Include="wwwroot\content\icons\170.png" />
<Content Include="wwwroot\content\icons\171.png" />
<Content Include="wwwroot\content\icons\172.png" />
<Content Include="wwwroot\content\icons\173.png" />
<Content Include="wwwroot\content\icons\174.png" />
<Content Include="wwwroot\content\icons\175.png" />
<Content Include="wwwroot\content\icons\176.png" />
<Content Include="wwwroot\content\icons\177.png" />
<Content Include="wwwroot\content\icons\178.png" />
<Content Include="wwwroot\content\icons\179.png" />
<Content Include="wwwroot\content\icons\18.png" />
<Content Include="wwwroot\content\icons\180.png" />
<Content Include="wwwroot\content\icons\181.png" />
<Content Include="wwwroot\content\icons\182.png" />
<Content Include="wwwroot\content\icons\183.png" />
<Content Include="wwwroot\content\icons\184.png" />
<Content Include="wwwroot\content\icons\185.png" />
<Content Include="wwwroot\content\icons\186.png" />
<Content Include="wwwroot\content\icons\187.png" />
<Content Include="wwwroot\content\icons\188.png" />
<Content Include="wwwroot\content\icons\189.png" />
<Content Include="wwwroot\content\icons\19.png" />
<Content Include="wwwroot\content\icons\190.png" />
<Content Include="wwwroot\content\icons\191.png" />
<Content Include="wwwroot\content\icons\192.png" />
<Content Include="wwwroot\content\icons\193.png" />
<Content Include="wwwroot\content\icons\194.png" />
<Content Include="wwwroot\content\icons\195.png" />
<Content Include="wwwroot\content\icons\196.png" />
<Content Include="wwwroot\content\icons\197.png" />
<Content Include="wwwroot\content\icons\198.png" />
<Content Include="wwwroot\content\icons\199.png" />
<Content Include="wwwroot\content\icons\2.png" />
<Content Include="wwwroot\content\icons\20.png" />
<Content Include="wwwroot\content\icons\200.png" />
<Content Include="wwwroot\content\icons\201.png" />
<Content Include="wwwroot\content\icons\202.png" />
<Content Include="wwwroot\content\icons\203.png" />
<Content Include="wwwroot\content\icons\204.png" />
<Content Include="wwwroot\content\icons\205.png" />
<Content Include="wwwroot\content\icons\206.png" />
<Content Include="wwwroot\content\icons\207.png" />
<Content Include="wwwroot\content\icons\208.png" />
<Content Include="wwwroot\content\icons\209.png" />
<Content Include="wwwroot\content\icons\21.png" />
<Content Include="wwwroot\content\icons\210.png" />
<Content Include="wwwroot\content\icons\211.png" />
<Content Include="wwwroot\content\icons\212.png" />
<Content Include="wwwroot\content\icons\213.png" />
<Content Include="wwwroot\content\icons\214.png" />
<Content Include="wwwroot\content\icons\215.png" />
<Content Include="wwwroot\content\icons\216.png" />
<Content Include="wwwroot\content\icons\217.png" />
<Content Include="wwwroot\content\icons\218.png" />
<Content Include="wwwroot\content\icons\219.png" />
<Content Include="wwwroot\content\icons\22.png" />
<Content Include="wwwroot\content\icons\220.png" />
<Content Include="wwwroot\content\icons\221.png" />
<Content Include="wwwroot\content\icons\222.png" />
<Content Include="wwwroot\content\icons\223.png" />
<Content Include="wwwroot\content\icons\224.png" />
<Content Include="wwwroot\content\icons\225.png" />
<Content Include="wwwroot\content\icons\226.png" />
<Content Include="wwwroot\content\icons\227.png" />
<Content Include="wwwroot\content\icons\228.png" />
<Content Include="wwwroot\content\icons\229.png" />
<Content Include="wwwroot\content\icons\23.png" />
<Content Include="wwwroot\content\icons\230.png" />
<Content Include="wwwroot\content\icons\231.png" />
<Content Include="wwwroot\content\icons\232.png" />
<Content Include="wwwroot\content\icons\233.png" />
<Content Include="wwwroot\content\icons\234.png" />
<Content Include="wwwroot\content\icons\235.png" />
<Content Include="wwwroot\content\icons\24.png" />
<Content Include="wwwroot\content\icons\25.png" />
<Content Include="wwwroot\content\icons\26.png" />
<Content Include="wwwroot\content\icons\27.png" />
<Content Include="wwwroot\content\icons\28.png" />
<Content Include="wwwroot\content\icons\29.png" />
<Content Include="wwwroot\content\icons\3.png" />
<Content Include="wwwroot\content\icons\30.png" />
<Content Include="wwwroot\content\icons\31.png" />
<Content Include="wwwroot\content\icons\32.png" />
<Content Include="wwwroot\content\icons\33.png" />
<Content Include="wwwroot\content\icons\34.png" />
<Content Include="wwwroot\content\icons\35.png" />
<Content Include="wwwroot\content\icons\36.png" />
<Content Include="wwwroot\content\icons\37.png" />
<Content Include="wwwroot\content\icons\38.png" />
<Content Include="wwwroot\content\icons\39.png" />
<Content Include="wwwroot\content\icons\4.png" />
<Content Include="wwwroot\content\icons\40.png" />
<Content Include="wwwroot\content\icons\41.png" />
<Content Include="wwwroot\content\icons\42.png" />
<Content Include="wwwroot\content\icons\43.png" />
<Content Include="wwwroot\content\icons\44.png" />
<Content Include="wwwroot\content\icons\45.png" />
<Content Include="wwwroot\content\icons\46.png" />
<Content Include="wwwroot\content\icons\47.png" />
<Content Include="wwwroot\content\icons\48.png" />
<Content Include="wwwroot\content\icons\49.png" />
<Content Include="wwwroot\content\icons\5.png" />
<Content Include="wwwroot\content\icons\50.png" />
<Content Include="wwwroot\content\icons\51.png" />
<Content Include="wwwroot\content\icons\52.png" />
<Content Include="wwwroot\content\icons\53.png" />
<Content Include="wwwroot\content\icons\54.png" />
<Content Include="wwwroot\content\icons\55.png" />
<Content Include="wwwroot\content\icons\56.png" />
<Content Include="wwwroot\content\icons\57.png" />
<Content Include="wwwroot\content\icons\58.png" />
<Content Include="wwwroot\content\icons\59.png" />
<Content Include="wwwroot\content\icons\6.png" />
<Content Include="wwwroot\content\icons\60.png" />
<Content Include="wwwroot\content\icons\61.png" />
<Content Include="wwwroot\content\icons\62.png" />
<Content Include="wwwroot\content\icons\63.png" />
<Content Include="wwwroot\content\icons\64.png" />
<Content Include="wwwroot\content\icons\65.png" />
<Content Include="wwwroot\content\icons\66.png" />
<Content Include="wwwroot\content\icons\67.png" />
<Content Include="wwwroot\content\icons\68.png" />
<Content Include="wwwroot\content\icons\69.png" />
<Content Include="wwwroot\content\icons\7.png" />
<Content Include="wwwroot\content\icons\70.png" />
<Content Include="wwwroot\content\icons\71.png" />
<Content Include="wwwroot\content\icons\72.png" />
<Content Include="wwwroot\content\icons\73.png" />
<Content Include="wwwroot\content\icons\74.png" />
<Content Include="wwwroot\content\icons\75.png" />
<Content Include="wwwroot\content\icons\76.png" />
<Content Include="wwwroot\content\icons\77.png" />
<Content Include="wwwroot\content\icons\78.png" />
<Content Include="wwwroot\content\icons\79.png" />
<Content Include="wwwroot\content\icons\8.png" />
<Content Include="wwwroot\content\icons\80.png" />
<Content Include="wwwroot\content\icons\81.png" />
<Content Include="wwwroot\content\icons\82.png" />
<Content Include="wwwroot\content\icons\83.png" />
<Content Include="wwwroot\content\icons\84.png" />
<Content Include="wwwroot\content\icons\85.png" />
<Content Include="wwwroot\content\icons\86.png" />
<Content Include="wwwroot\content\icons\87.png" />
<Content Include="wwwroot\content\icons\88.png" />
<Content Include="wwwroot\content\icons\89.png" />
<Content Include="wwwroot\content\icons\9.png" />
<Content Include="wwwroot\content\icons\90.png" />
<Content Include="wwwroot\content\icons\91.png" />
<Content Include="wwwroot\content\icons\92.png" />
<Content Include="wwwroot\content\icons\93.png" />
<Content Include="wwwroot\content\icons\94.png" />
<Content Include="wwwroot\content\icons\95.png" />
<Content Include="wwwroot\content\icons\96.png" />
<Content Include="wwwroot\content\icons\97.png" />
<Content Include="wwwroot\content\icons\98.png" />
<Content Include="wwwroot\content\icons\99.png" />
<Content Include="wwwroot\content\icons\csharp.png" />
<Content Include="wwwroot\content\icons\csharpprojectexplorer.png" />
<Content Include="wwwroot\content\icons\documentoutline.png" />
<Content Include="wwwroot\content\icons\dotnet.png" />
<Content Include="wwwroot\content\icons\help.png" />
<Content Include="wwwroot\content\icons\microsoftlogo.png" />
<Content Include="wwwroot\content\icons\minus.png" />
<Content Include="wwwroot\content\icons\namespaceexplorer.png" />
<Content Include="wwwroot\content\icons\plus.png" />
<Content Include="wwwroot\content\icons\searchmagnifyingglass.png" />
<Content Include="wwwroot\content\icons\typescript.png" />
<Content Include="wwwroot\content\icons\vb.png" />
<Content Include="wwwroot\content\icons\vbprojectexplorer.png" />
<Content Include="wwwroot\content\icons\xaml.png" />
<Content Include="wwwroot\documentoutline.html" />
<Content Include="wwwroot\favicon.ico" />
<Content Include="wwwroot\header.html" />
<Content Include="wwwroot\index.html" />
<Content Include="wwwroot\overview.html" />
<Content Include="wwwroot\scripts.js" />
<Content Include="wwwroot\styles.css" />
</ItemGroup>
<ItemGroup>
<Compile Include="App_Start\FilterConfig.cs" />
<Compile Include="App_Start\RouteConfig.cs" />
<Compile Include="App_Start\WebApiConfig.cs" />
<Compile Include="Controllers\SymbolsController.cs" />
<Compile Include="Global.asax.cs">
<DependentUpon>Global.asax</DependentUpon>
</Compile>
<Compile Include="Models\AssemblyInfo.cs" />
<Compile Include="Models\Constants.cs" />
<Compile Include="Models\DeclaredSymbolInfo.cs" />
<Compile Include="Models\Index.cs" />
<Compile Include="Models\IndexEntry.cs" />
<Compile Include="Models\IndexLoader.cs" />
<Compile Include="Models\Markup.cs" />
<Compile Include="Models\Query.cs" />
<Compile Include="Models\QueryInterpretation.cs" />
<Compile Include="Models\ResultsHtmlGenerator.cs" />
<Compile Include="Models\Serialization.cs" />
<Compile Include="Models\SortedSearch.cs" />
<Compile Include="Models\SymbolKindText.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" />
<PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.1" />
</ItemGroup>
<ItemGroup>
<Content Include="content\icons\0.png" />
<Content Include="content\icons\1.png" />
<Content Include="content\icons\10.png" />
<Content Include="content\icons\100.png" />
<Content Include="content\icons\101.png" />
<Content Include="content\icons\102.png" />
<Content Include="content\icons\103.png" />
<Content Include="content\icons\104.png" />
<Content Include="content\icons\105.png" />
<Content Include="content\icons\106.png" />
<Content Include="content\icons\107.png" />
<Content Include="content\icons\108.png" />
<Content Include="content\icons\109.png" />
<Content Include="content\icons\11.png" />
<Content Include="content\icons\110.png" />
<Content Include="content\icons\111.png" />
<Content Include="content\icons\112.png" />
<Content Include="content\icons\113.png" />
<Content Include="content\icons\114.png" />
<Content Include="content\icons\115.png" />
<Content Include="content\icons\116.png" />
<Content Include="content\icons\117.png" />
<Content Include="content\icons\118.png" />
<Content Include="content\icons\119.png" />
<Content Include="content\icons\12.png" />
<Content Include="content\icons\120.png" />
<Content Include="content\icons\121.png" />
<Content Include="content\icons\122.png" />
<Content Include="content\icons\123.png" />
<Content Include="content\icons\124.png" />
<Content Include="content\icons\125.png" />
<Content Include="content\icons\126.png" />
<Content Include="content\icons\127.png" />
<Content Include="content\icons\128.png" />
<Content Include="content\icons\129.png" />
<Content Include="content\icons\13.png" />
<Content Include="content\icons\130.png" />
<Content Include="content\icons\131.png" />
<Content Include="content\icons\132.png" />
<Content Include="content\icons\133.png" />
<Content Include="content\icons\134.png" />
<Content Include="content\icons\135.png" />
<Content Include="content\icons\136.png" />
<Content Include="content\icons\137.png" />
<Content Include="content\icons\138.png" />
<Content Include="content\icons\139.png" />
<Content Include="content\icons\14.png" />
<Content Include="content\icons\140.png" />
<Content Include="content\icons\141.png" />
<Content Include="content\icons\142.png" />
<Content Include="content\icons\143.png" />
<Content Include="content\icons\144.png" />
<Content Include="content\icons\145.png" />
<Content Include="content\icons\146.png" />
<Content Include="content\icons\147.png" />
<Content Include="content\icons\148.png" />
<Content Include="content\icons\149.png" />
<Content Include="content\icons\15.png" />
<Content Include="content\icons\150.png" />
<Content Include="content\icons\151.png" />
<Content Include="content\icons\152.png" />
<Content Include="content\icons\153.png" />
<Content Include="content\icons\154.png" />
<Content Include="content\icons\155.png" />
<Content Include="content\icons\156.png" />
<Content Include="content\icons\157.png" />
<Content Include="content\icons\158.png" />
<Content Include="content\icons\159.png" />
<Content Include="content\icons\16.png" />
<Content Include="content\icons\160.png" />
<Content Include="content\icons\161.png" />
<Content Include="content\icons\162.png" />
<Content Include="content\icons\163.png" />
<Content Include="content\icons\164.png" />
<Content Include="content\icons\165.png" />
<Content Include="content\icons\166.png" />
<Content Include="content\icons\167.png" />
<Content Include="content\icons\168.png" />
<Content Include="content\icons\169.png" />
<Content Include="content\icons\17.png" />
<Content Include="content\icons\170.png" />
<Content Include="content\icons\171.png" />
<Content Include="content\icons\172.png" />
<Content Include="content\icons\173.png" />
<Content Include="content\icons\174.png" />
<Content Include="content\icons\175.png" />
<Content Include="content\icons\176.png" />
<Content Include="content\icons\177.png" />
<Content Include="content\icons\178.png" />
<Content Include="content\icons\179.png" />
<Content Include="content\icons\18.png" />
<Content Include="content\icons\180.png" />
<Content Include="content\icons\181.png" />
<Content Include="content\icons\182.png" />
<Content Include="content\icons\183.png" />
<Content Include="content\icons\184.png" />
<Content Include="content\icons\185.png" />
<Content Include="content\icons\186.png" />
<Content Include="content\icons\187.png" />
<Content Include="content\icons\188.png" />
<Content Include="content\icons\189.png" />
<Content Include="content\icons\19.png" />
<Content Include="content\icons\190.png" />
<Content Include="content\icons\191.png" />
<Content Include="content\icons\192.png" />
<Content Include="content\icons\193.png" />
<Content Include="content\icons\194.png" />
<Content Include="content\icons\195.png" />
<Content Include="content\icons\196.png" />
<Content Include="content\icons\197.png" />
<Content Include="content\icons\198.png" />
<Content Include="content\icons\199.png" />
<Content Include="content\icons\2.png" />
<Content Include="content\icons\20.png" />
<Content Include="content\icons\200.png" />
<Content Include="content\icons\201.png" />
<Content Include="content\icons\202.png" />
<Content Include="content\icons\203.png" />
<Content Include="content\icons\204.png" />
<Content Include="content\icons\205.png" />
<Content Include="content\icons\206.png" />
<Content Include="content\icons\207.png" />
<Content Include="content\icons\208.png" />
<Content Include="content\icons\209.png" />
<Content Include="content\icons\21.png" />
<Content Include="content\icons\210.png" />
<Content Include="content\icons\211.png" />
<Content Include="content\icons\212.png" />
<Content Include="content\icons\213.png" />
<Content Include="content\icons\214.png" />
<Content Include="content\icons\215.png" />
<Content Include="content\icons\216.png" />
<Content Include="content\icons\217.png" />
<Content Include="content\icons\218.png" />
<Content Include="content\icons\219.png" />
<Content Include="content\icons\22.png" />
<Content Include="content\icons\220.png" />
<Content Include="content\icons\221.png" />
<Content Include="content\icons\222.png" />
<Content Include="content\icons\223.png" />
<Content Include="content\icons\224.png" />
<Content Include="content\icons\225.png" />
<Content Include="content\icons\226.png" />
<Content Include="content\icons\227.png" />
<Content Include="content\icons\228.png" />
<Content Include="content\icons\229.png" />
<Content Include="content\icons\23.png" />
<Content Include="content\icons\230.png" />
<Content Include="content\icons\231.png" />
<Content Include="content\icons\232.png" />
<Content Include="content\icons\233.png" />
<Content Include="content\icons\234.png" />
<Content Include="content\icons\235.png" />
<Content Include="content\icons\24.png" />
<Content Include="content\icons\25.png" />
<Content Include="content\icons\26.png" />
<Content Include="content\icons\27.png" />
<Content Include="content\icons\28.png" />
<Content Include="content\icons\29.png" />
<Content Include="content\icons\3.png" />
<Content Include="content\icons\30.png" />
<Content Include="content\icons\31.png" />
<Content Include="content\icons\32.png" />
<Content Include="content\icons\33.png" />
<Content Include="content\icons\34.png" />
<Content Include="content\icons\35.png" />
<Content Include="content\icons\36.png" />
<Content Include="content\icons\37.png" />
<Content Include="content\icons\38.png" />
<Content Include="content\icons\39.png" />
<Content Include="content\icons\4.png" />
<Content Include="content\icons\40.png" />
<Content Include="content\icons\41.png" />
<Content Include="content\icons\42.png" />
<Content Include="content\icons\43.png" />
<Content Include="content\icons\44.png" />
<Content Include="content\icons\45.png" />
<Content Include="content\icons\46.png" />
<Content Include="content\icons\47.png" />
<Content Include="content\icons\48.png" />
<Content Include="content\icons\49.png" />
<Content Include="content\icons\5.png" />
<Content Include="content\icons\50.png" />
<Content Include="content\icons\51.png" />
<Content Include="content\icons\52.png" />
<Content Include="content\icons\53.png" />
<Content Include="content\icons\54.png" />
<Content Include="content\icons\55.png" />
<Content Include="content\icons\56.png" />
<Content Include="content\icons\57.png" />
<Content Include="content\icons\58.png" />
<Content Include="content\icons\59.png" />
<Content Include="content\icons\6.png" />
<Content Include="content\icons\60.png" />
<Content Include="content\icons\61.png" />
<Content Include="content\icons\62.png" />
<Content Include="content\icons\63.png" />
<Content Include="content\icons\64.png" />
<Content Include="content\icons\65.png" />
<Content Include="content\icons\66.png" />
<Content Include="content\icons\67.png" />
<Content Include="content\icons\68.png" />
<Content Include="content\icons\69.png" />
<Content Include="content\icons\7.png" />
<Content Include="content\icons\70.png" />
<Content Include="content\icons\71.png" />
<Content Include="content\icons\72.png" />
<Content Include="content\icons\73.png" />
<Content Include="content\icons\74.png" />
<Content Include="content\icons\75.png" />
<Content Include="content\icons\76.png" />
<Content Include="content\icons\77.png" />
<Content Include="content\icons\78.png" />
<Content Include="content\icons\79.png" />
<Content Include="content\icons\8.png" />
<Content Include="content\icons\80.png" />
<Content Include="content\icons\81.png" />
<Content Include="content\icons\82.png" />
<Content Include="content\icons\83.png" />
<Content Include="content\icons\84.png" />
<Content Include="content\icons\85.png" />
<Content Include="content\icons\86.png" />
<Content Include="content\icons\87.png" />
<Content Include="content\icons\88.png" />
<Content Include="content\icons\89.png" />
<Content Include="content\icons\9.png" />
<Content Include="content\icons\90.png" />
<Content Include="content\icons\91.png" />
<Content Include="content\icons\92.png" />
<Content Include="content\icons\93.png" />
<Content Include="content\icons\94.png" />
<Content Include="content\icons\95.png" />
<Content Include="content\icons\96.png" />
<Content Include="content\icons\97.png" />
<Content Include="content\icons\98.png" />
<Content Include="content\icons\99.png" />
<Content Include="content\icons\csharp.png" />
<Content Include="content\icons\csharpprojectexplorer.png" />
<Content Include="content\icons\documentoutline.png" />
<Content Include="content\icons\dotnet.png" />
<Content Include="content\icons\help.png" />
<Content Include="content\icons\microsoftlogo.png" />
<Content Include="content\icons\minus.png" />
<Content Include="content\icons\namespaceexplorer.png" />
<Content Include="content\icons\plus.png" />
<Content Include="content\icons\searchmagnifyingglass.png" />
<Content Include="content\icons\typescript.png" />
<Content Include="content\icons\vb.png" />
<Content Include="content\icons\vbprojectexplorer.png" />
<Content Include="content\icons\xaml.png" />
<Content Include="documentoutline.html" />
<Content Include="favicon.ico" />
<Content Include="Global.asax" />
<Content Include="header.html" />
<Content Include="index.html" />
<Content Include="overview.html" />
<Content Include="packages.config">
<SubType>Designer</SubType>
</Content>
<Content Include="scripts.js" />
<Content Include="styles.css" />
<Content Include="Web.config" />
<Content Include="Web.Debug.config">
<DependentUpon>Web.config</DependentUpon>
</Content>
<Content Include="Web.Release.config">
<DependentUpon>Web.config</DependentUpon>
</Content>
<None Include="Properties\PublishProfiles\Local.pubxml" />
<ProjectReference Include="..\Common\Common.csproj" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Common\Common.csproj">
<Project>{f13cd277-e86b-4bc6-9e93-39ed055a46db}</Project>
<Name>Common</Name>
</ProjectReference>
</ItemGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="..\..\Common.targets" />
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>False</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>58327</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>
</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>True</UseCustomServer>
<CustomServerUrl>
</CustomServerUrl>
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
<servers defaultServer="IndexOutput">
<server name="IndexOutput" exePath="%ProgramFiles%\IIS Express\IISExpress.exe" cmdArgs="/port:58327 /path:{solutiondir}\bin\Debug\HtmlGenerator\Index /clr:4.0 /systray:true /ntlm" url="http://localhost:58327/" workingDir="{solutiondir}\bin\Debug\HtmlGenerator\Index" />
</servers>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
</Project>
</Project>

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

@ -0,0 +1,55 @@
using System.IO;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.FileProviders;
using Microsoft.Extensions.Logging;
using Microsoft.SourceBrowser.SourceIndexServer.Models;
namespace Microsoft.SourceBrowser.SourceIndexServer
{
public class Startup
{
public Startup(IHostingEnvironment env)
{
Environment = env;
}
public IHostingEnvironment Environment { get; }
// This method gets called by the runtime. Use this method to add services to the container.
// For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton(new Index(Path.Combine(Environment.ContentRootPath, "index")));
services.AddMvc();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole();
app.Use(async (context, next) =>
{
context.Response.Headers["X-UA-Compatible"] = "IE=edge";
await next();
});
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseDefaultFiles();
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(Path.Combine(env.ContentRootPath, "index")),
});
app.UseStaticFiles();
app.UseMvc();
}
}
}

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

@ -1,30 +0,0 @@
<?xml version="1.0"?>
<!-- For more information on using Web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!--
In the example below, the "SetAttributes" transform will change the value of
"connectionString" to use "ReleaseSQLServer" only when the "Match" locator
finds an atrribute "name" that has a value of "MyDB".
<connectionStrings>
<add name="MyDB"
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
-->
<system.web>
<!--
In the example below, the "Replace" transform will replace the entire
<customErrors> section of your Web.config file.
Note that because there is only one customErrors section under the
<system.web> node, there is no need to use the "xdt:Locator" attribute.
<customErrors defaultRedirect="GenericError.htm"
mode="RemoteOnly" xdt:Transform="Replace">
<error statusCode="500" redirect="InternalError.htm"/>
</customErrors>
-->
</system.web>
</configuration>

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

@ -1,31 +0,0 @@
<?xml version="1.0"?>
<!-- For more information on using Web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!--
In the example below, the "SetAttributes" transform will change the value of
"connectionString" to use "ReleaseSQLServer" only when the "Match" locator
finds an atrribute "name" that has a value of "MyDB".
<connectionStrings>
<add name="MyDB"
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
-->
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
<!--
In the example below, the "Replace" transform will replace the entire
<customErrors> section of your Web.config file.
Note that because there is only one customErrors section under the
<system.web> node, there is no need to use the "xdt:Locator" attribute.
<customErrors defaultRedirect="GenericError.htm"
mode="RemoteOnly" xdt:Transform="Replace">
<error statusCode="500" redirect="InternalError.htm"/>
</customErrors>
-->
</system.web>
</configuration>

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

@ -1,107 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
</configSections>
<connectionStrings>
<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-SourceIndexServer-20120930211616;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-SourceIndexServer-20120930211616.mdf" />
</connectionStrings>
<appSettings>
<add key="webpages:Version" value="2.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="PreserveLoginUrl" value="true" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
<pages>
<namespaces>
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
<profile defaultProvider="DefaultProfileProvider">
<providers>
<add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
</providers>
</profile>
<membership defaultProvider="DefaultMembershipProvider">
<providers>
<add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
<roleManager defaultProvider="DefaultRoleProvider">
<providers>
<add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
</providers>
</roleManager>
<!--
If you are deploying to a cloud environment that has multiple web server instances,
you should change session state mode from "InProc" to "Custom". In addition,
change the connection string named "DefaultConnection" to connect to an instance
of SQL Server (including SQL Azure and SQL Compact) instead of to SQL Server Express.
-->
<sessionState mode="InProc" customProvider="DefaultSessionProvider">
<providers>
<add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" />
</providers>
</sessionState>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<httpProtocol>
<customHeaders>
<add name="X-UA-Compatible" value="IE=edge" />
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
</customHeaders>
</httpProtocol>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="0.04:00:00" />
</staticContent>
<security>
<requestFiltering allowDoubleEscaping="true" />
</security>
<handlers>
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v12.0" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>

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

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="jQuery" version="1.7.1.1" targetFramework="net45" />
<package id="jQuery.UI.Combined" version="1.8.20.1" targetFramework="net45" />
<package id="jQuery.Validation" version="1.9.0.1" targetFramework="net45" />
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.Providers.Core" version="2.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.Providers.LocalDB" version="2.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net45" />
<package id="Microsoft.jQuery.Unobtrusive.Ajax" version="2.0.20710.0" targetFramework="net45" />
<package id="Microsoft.jQuery.Unobtrusive.Validation" version="2.0.20710.0" targetFramework="net45" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" />
<package id="Newtonsoft.Json" version="6.0.4" targetFramework="net45" />
</packages>

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

До

Ширина:  |  Высота:  |  Размер: 369 B

После

Ширина:  |  Высота:  |  Размер: 369 B

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

До

Ширина:  |  Высота:  |  Размер: 446 B

После

Ширина:  |  Высота:  |  Размер: 446 B

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

До

Ширина:  |  Высота:  |  Размер: 294 B

После

Ширина:  |  Высота:  |  Размер: 294 B

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

До

Ширина:  |  Высота:  |  Размер: 285 B

После

Ширина:  |  Высота:  |  Размер: 285 B

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

До

Ширина:  |  Высота:  |  Размер: 282 B

После

Ширина:  |  Высота:  |  Размер: 282 B

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

До

Ширина:  |  Высота:  |  Размер: 441 B

После

Ширина:  |  Высота:  |  Размер: 441 B

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

До

Ширина:  |  Высота:  |  Размер: 473 B

После

Ширина:  |  Высота:  |  Размер: 473 B

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

До

Ширина:  |  Высота:  |  Размер: 473 B

После

Ширина:  |  Высота:  |  Размер: 473 B

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

До

Ширина:  |  Высота:  |  Размер: 470 B

После

Ширина:  |  Высота:  |  Размер: 470 B

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

До

Ширина:  |  Высота:  |  Размер: 434 B

После

Ширина:  |  Высота:  |  Размер: 434 B

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

До

Ширина:  |  Высота:  |  Размер: 440 B

После

Ширина:  |  Высота:  |  Размер: 440 B

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

До

Ширина:  |  Высота:  |  Размер: 194 B

После

Ширина:  |  Высота:  |  Размер: 194 B

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

До

Ширина:  |  Высота:  |  Размер: 318 B

После

Ширина:  |  Высота:  |  Размер: 318 B

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

До

Ширина:  |  Высота:  |  Размер: 282 B

После

Ширина:  |  Высота:  |  Размер: 282 B

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

До

Ширина:  |  Высота:  |  Размер: 318 B

После

Ширина:  |  Высота:  |  Размер: 318 B

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

До

Ширина:  |  Высота:  |  Размер: 310 B

После

Ширина:  |  Высота:  |  Размер: 310 B

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

До

Ширина:  |  Высота:  |  Размер: 254 B

После

Ширина:  |  Высота:  |  Размер: 254 B

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

До

Ширина:  |  Высота:  |  Размер: 249 B

После

Ширина:  |  Высота:  |  Размер: 249 B

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

До

Ширина:  |  Высота:  |  Размер: 368 B

После

Ширина:  |  Высота:  |  Размер: 368 B

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

До

Ширина:  |  Высота:  |  Размер: 430 B

После

Ширина:  |  Высота:  |  Размер: 430 B

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

До

Ширина:  |  Высота:  |  Размер: 430 B

После

Ширина:  |  Высота:  |  Размер: 430 B

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

До

Ширина:  |  Высота:  |  Размер: 454 B

После

Ширина:  |  Высота:  |  Размер: 454 B

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

До

Ширина:  |  Высота:  |  Размер: 389 B

После

Ширина:  |  Высота:  |  Размер: 389 B

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

До

Ширина:  |  Высота:  |  Размер: 388 B

После

Ширина:  |  Высота:  |  Размер: 388 B

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

До

Ширина:  |  Высота:  |  Размер: 266 B

После

Ширина:  |  Высота:  |  Размер: 266 B

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

До

Ширина:  |  Высота:  |  Размер: 263 B

После

Ширина:  |  Высота:  |  Размер: 263 B

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

До

Ширина:  |  Высота:  |  Размер: 368 B

После

Ширина:  |  Высота:  |  Размер: 368 B

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

До

Ширина:  |  Высота:  |  Размер: 368 B

После

Ширина:  |  Высота:  |  Размер: 368 B

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

До

Ширина:  |  Высота:  |  Размер: 377 B

После

Ширина:  |  Высота:  |  Размер: 377 B

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

До

Ширина:  |  Высота:  |  Размер: 296 B

После

Ширина:  |  Высота:  |  Размер: 296 B

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

До

Ширина:  |  Высота:  |  Размер: 302 B

После

Ширина:  |  Высота:  |  Размер: 302 B

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

До

Ширина:  |  Высота:  |  Размер: 247 B

После

Ширина:  |  Высота:  |  Размер: 247 B

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

До

Ширина:  |  Высота:  |  Размер: 355 B

После

Ширина:  |  Высота:  |  Размер: 355 B

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

До

Ширина:  |  Высота:  |  Размер: 355 B

После

Ширина:  |  Высота:  |  Размер: 355 B

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

До

Ширина:  |  Высота:  |  Размер: 369 B

После

Ширина:  |  Высота:  |  Размер: 369 B

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

До

Ширина:  |  Высота:  |  Размер: 376 B

После

Ширина:  |  Высота:  |  Размер: 376 B

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

До

Ширина:  |  Высота:  |  Размер: 298 B

После

Ширина:  |  Высота:  |  Размер: 298 B

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

До

Ширина:  |  Высота:  |  Размер: 295 B

После

Ширина:  |  Высота:  |  Размер: 295 B

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

До

Ширина:  |  Высота:  |  Размер: 246 B

После

Ширина:  |  Высота:  |  Размер: 246 B

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

До

Ширина:  |  Высота:  |  Размер: 353 B

После

Ширина:  |  Высота:  |  Размер: 353 B

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

До

Ширина:  |  Высота:  |  Размер: 353 B

После

Ширина:  |  Высота:  |  Размер: 353 B

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

До

Ширина:  |  Высота:  |  Размер: 366 B

После

Ширина:  |  Высота:  |  Размер: 366 B

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

До

Ширина:  |  Высота:  |  Размер: 283 B

После

Ширина:  |  Высота:  |  Размер: 283 B

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

До

Ширина:  |  Высота:  |  Размер: 288 B

После

Ширина:  |  Высота:  |  Размер: 288 B

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

До

Ширина:  |  Высота:  |  Размер: 340 B

После

Ширина:  |  Высота:  |  Размер: 340 B

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

До

Ширина:  |  Высота:  |  Размер: 477 B

После

Ширина:  |  Высота:  |  Размер: 477 B

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

До

Ширина:  |  Высота:  |  Размер: 376 B

После

Ширина:  |  Высота:  |  Размер: 376 B

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

До

Ширина:  |  Высота:  |  Размер: 477 B

После

Ширина:  |  Высота:  |  Размер: 477 B

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

До

Ширина:  |  Высота:  |  Размер: 458 B

После

Ширина:  |  Высота:  |  Размер: 458 B

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

До

Ширина:  |  Высота:  |  Размер: 431 B

После

Ширина:  |  Высота:  |  Размер: 431 B

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

До

Ширина:  |  Высота:  |  Размер: 425 B

После

Ширина:  |  Высота:  |  Размер: 425 B

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

До

Ширина:  |  Высота:  |  Размер: 198 B

После

Ширина:  |  Высота:  |  Размер: 198 B

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

До

Ширина:  |  Высота:  |  Размер: 323 B

После

Ширина:  |  Высота:  |  Размер: 323 B

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

До

Ширина:  |  Высота:  |  Размер: 323 B

После

Ширина:  |  Высота:  |  Размер: 323 B

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

До

Ширина:  |  Высота:  |  Размер: 327 B

После

Ширина:  |  Высота:  |  Размер: 327 B

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

До

Ширина:  |  Высота:  |  Размер: 262 B

После

Ширина:  |  Высота:  |  Размер: 262 B

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

До

Ширина:  |  Высота:  |  Размер: 260 B

После

Ширина:  |  Высота:  |  Размер: 260 B

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

До

Ширина:  |  Высота:  |  Размер: 389 B

После

Ширина:  |  Высота:  |  Размер: 389 B

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

До

Ширина:  |  Высота:  |  Размер: 239 B

После

Ширина:  |  Высота:  |  Размер: 239 B

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

До

Ширина:  |  Высота:  |  Размер: 339 B

После

Ширина:  |  Высота:  |  Размер: 339 B

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше