From 8540228a1d296a2c0d00fe00442ff8766bd8410f Mon Sep 17 00:00:00 2001 From: Josh Varty <joshvarty@gmail.com> Date: Sun, 31 Jan 2016 23:02:43 -0500 Subject: [PATCH 1/6] Ignore .vs/ --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index a77a4fc..c0d82f1 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ *.sln.docstates *.ide/ *.ide +*.vs/ SB_Files/ GithubStaging/ From dd09c3e1c396324dfcb066df936226b605ad03b4 Mon Sep 17 00:00:00 2001 From: Josh Varty <joshvarty@gmail.com> Date: Sun, 31 Jan 2016 23:02:59 -0500 Subject: [PATCH 2/6] Get the paths for omnisharp.json & project.json --- .../Controllers/UploadController.cs | 28 ++++--------------- 1 file changed, 6 insertions(+), 22 deletions(-) diff --git a/src/SourceBrowser.Site/Controllers/UploadController.cs b/src/SourceBrowser.Site/Controllers/UploadController.cs index 7612414..cb76302 100644 --- a/src/SourceBrowser.Site/Controllers/UploadController.cs +++ b/src/SourceBrowser.Site/Controllers/UploadController.cs @@ -53,17 +53,15 @@ public ActionResult Submit(string githubUrl) return View("Index"); } - // Generate the source browser files for this solution - var solutionPaths = GetSolutionPaths(repoRootPath); - if (solutionPaths.Length == 0) - { - ViewBag.Error = "No C# solution was found. Ensure that a valid .sln file exists within your repository."; - return View("Index"); - } - var organizationPath = System.Web.Hosting.HostingEnvironment.MapPath("~/") + "SB_Files\\" + retriever.UserName; var repoPath = Path.Combine(organizationPath, retriever.RepoName); + + // Generate the source browser files for this solution + var solutionPaths = Directory.GetFiles(repoRootPath, "*.sln", SearchOption.AllDirectories); + var omnisharpPaths = Directory.GetFiles(repoRootPath, "omnisharp.json", SearchOption.AllDirectories); + var projectJsonPaths= Directory.GetFiles(repoRootPath, "project.json", SearchOption.AllDirectories); + // TODO: Use parallel for. // TODO: Process all solutions. // For now, we're assuming the shallowest and shortest .sln file is the one we're interested in @@ -121,19 +119,5 @@ public ActionResult Submit(string githubUrl) } } } - - /// <summary> - /// Simply searches for the solution files and returns their paths. - /// </summary> - /// <param name="rootDirectory"> - /// The root Directory. - /// </param> - /// <returns> - /// The solution paths. - /// </returns> - private string[] GetSolutionPaths(string rootDirectory) - { - return Directory.GetFiles(rootDirectory, "*.sln", SearchOption.AllDirectories); - } } } \ No newline at end of file From f545f6b9f6151c224feb8c73b6de2725330276e6 Mon Sep 17 00:00:00 2001 From: Josh Varty <joshvarty@gmail.com> Date: Sun, 31 Jan 2016 23:46:12 -0500 Subject: [PATCH 3/6] Layout for ProjectJson support --- .../SolutionAnalyzer.cs | 2 + .../Controllers/UploadController.cs | 66 +++++++++---------- .../Repositories/UploadRepository.cs | 22 ++++++- 3 files changed, 54 insertions(+), 36 deletions(-) diff --git a/src/SourceBrowser.Generator/SolutionAnalyzer.cs b/src/SourceBrowser.Generator/SolutionAnalyzer.cs index 16369a1..ee25f0d 100644 --- a/src/SourceBrowser.Generator/SolutionAnalyzer.cs +++ b/src/SourceBrowser.Generator/SolutionAnalyzer.cs @@ -21,6 +21,7 @@ namespace SourceBrowser.Generator { public class SolutionAnalayzer { + public bool WorkspaceFailed { get; set; } MSBuildWorkspace _workspace; Solution _solution; private ReferencesourceLinkProvider _refsourceLinkProvider = new ReferencesourceLinkProvider(); @@ -35,6 +36,7 @@ public SolutionAnalayzer(string solutionPath) private void _workspace_WorkspaceFailed(object sender, WorkspaceDiagnosticEventArgs e) { + WorkspaceFailed = true; try { var logDirectory = System.Web.Hosting.HostingEnvironment.MapPath("/WorkspaceLogs/"); diff --git a/src/SourceBrowser.Site/Controllers/UploadController.cs b/src/SourceBrowser.Site/Controllers/UploadController.cs index cb76302..0777e96 100644 --- a/src/SourceBrowser.Site/Controllers/UploadController.cs +++ b/src/SourceBrowser.Site/Controllers/UploadController.cs @@ -7,7 +7,7 @@ using SourceBrowser.Site.Repositories; using System; using System.Linq; - + using Generator.Model; public class UploadController : Controller { // GET: Upload @@ -62,49 +62,45 @@ public ActionResult Submit(string githubUrl) var omnisharpPaths = Directory.GetFiles(repoRootPath, "omnisharp.json", SearchOption.AllDirectories); var projectJsonPaths= Directory.GetFiles(repoRootPath, "project.json", SearchOption.AllDirectories); - // TODO: Use parallel for. - // TODO: Process all solutions. - // For now, we're assuming the shallowest and shortest .sln file is the one we're interested in - foreach (var solutionPath in solutionPaths.OrderBy(n => n.Length).Take(1)) - { - try - { - var workspaceModel = UploadRepository.ProcessSolution(solutionPath, repoRootPath); - - //One pass to lookup all declarations - var typeTransformer = new TokenLookupTransformer(); - typeTransformer.Visit(workspaceModel); - var tokenLookup = typeTransformer.TokenLookup; - - //Another pass to generate HTMLs - var htmlTransformer = new HtmlTransformer(tokenLookup, repoPath); - htmlTransformer.Visit(workspaceModel); + string solutionPath = solutionPaths.OrderBy(n => n.Length).FirstOrDefault(); + string omnisharpPath = omnisharpPaths.OrderBy(n => n.Length).FirstOrDefault(); - var searchTransformer = new SearchIndexTransformer(retriever.UserName, retriever.RepoName); - searchTransformer.Visit(workspaceModel); + WorkspaceModel workspaceModel = null; + if(solutionPath != null) + { + workspaceModel = UploadRepository.ProcessSolution(solutionPath, repoRootPath); + } - // Generate HTML of the tree view - var treeViewTransformer = new TreeViewTransformer(repoPath, retriever.UserName, retriever.RepoName); - treeViewTransformer.Visit(workspaceModel); - } - catch (Exception ex) - { - // TODO: Log this - ViewBag.Error = "There was an error processing solution " + Path.GetFileName(solutionPath); - return View("Index"); - } + if(workspaceModel == null && omnisharpPath != null) + { + workspaceModel = UploadRepository.ProcessOmnisharp(omnisharpPath, repoRootPath); } - try + if(workspaceModel == null && projectJsonPaths.Count() > 0) { - UploadRepository.SaveReadme(repoPath, retriever.ProvideParsedReadme()); + workspaceModel = UploadRepository.ProcessProjectJson(projectJsonPaths, repoRootPath); } - catch (Exception ex) + + if (workspaceModel != null) { - // TODO: Log and swallow - readme is not essential. + //One pass to lookup all declarations + var typeTransformer = new TokenLookupTransformer(); + typeTransformer.Visit(workspaceModel); + var tokenLookup = typeTransformer.TokenLookup; + + //Another pass to generate HTMLs + var htmlTransformer = new HtmlTransformer(tokenLookup, repoPath); + htmlTransformer.Visit(workspaceModel); + + var searchTransformer = new SearchIndexTransformer(retriever.UserName, retriever.RepoName); + searchTransformer.Visit(workspaceModel); + + // Generate HTML of the tree view + var treeViewTransformer = new TreeViewTransformer(repoPath, retriever.UserName, retriever.RepoName); + treeViewTransformer.Visit(workspaceModel); + processingSuccessful = true; } - processingSuccessful = true; return Redirect("/Browse/" + retriever.UserName + "/" + retriever.RepoName); } finally diff --git a/src/SourceBrowser.Site/Repositories/UploadRepository.cs b/src/SourceBrowser.Site/Repositories/UploadRepository.cs index 8e878c5..09eaef2 100644 --- a/src/SourceBrowser.Site/Repositories/UploadRepository.cs +++ b/src/SourceBrowser.Site/Repositories/UploadRepository.cs @@ -7,6 +7,7 @@ using System.Security; using System.IO; using System.Configuration; +using SourceBrowser.Generator.Model; namespace SourceBrowser.Site.Repositories { @@ -18,7 +19,7 @@ public class UploadRepository [DllImport("kernel32.dll", CharSet = CharSet.Auto)] private extern static bool CloseHandle(IntPtr handle); - internal static Generator.Model.WorkspaceModel ProcessSolution(string solutionPath, string repoRootPath) + internal static WorkspaceModel ProcessSolution(string solutionPath, string repoRootPath) { SafeTokenHandle safeTokenHandle; string safeUserName = ConfigurationManager.AppSettings["safeUserName"]; @@ -28,6 +29,11 @@ internal static Generator.Model.WorkspaceModel ProcessSolution(string solutionPa if (String.IsNullOrEmpty(safeUserName)) { var sourceGenerator = new Generator.SolutionAnalayzer(solutionPath); + if(sourceGenerator.WorkspaceFailed) + { + return null; + } + var workspaceModel = sourceGenerator.BuildWorkspaceModel(repoRootPath); return workspaceModel; } @@ -54,6 +60,10 @@ internal static Generator.Model.WorkspaceModel ProcessSolution(string solutionPa using (WindowsImpersonationContext impersonatedUser = WindowsIdentity.Impersonate(safeTokenHandle.DangerousGetHandle())) { var sourceGenerator = new Generator.SolutionAnalayzer(solutionPath); + if (sourceGenerator.WorkspaceFailed) + { + return null; + } var workspaceModel = sourceGenerator.BuildWorkspaceModel(repoRootPath); return workspaceModel; } @@ -61,6 +71,16 @@ internal static Generator.Model.WorkspaceModel ProcessSolution(string solutionPa } } + internal static WorkspaceModel ProcessOmnisharp(string omnisharpPath, string repoRootPath) + { + throw new NotImplementedException(); + } + + internal static WorkspaceModel ProcessProjectJson(string[] projectJsonPaths, string repoRootPath) + { + throw new NotImplementedException(); + } + internal static void SaveReadme(string repoPath, string readmeInHtml) { string readmePath = Path.Combine(repoPath, "readme.html"); From b34b7d29459fe58b06979616d0538229d4abed61 Mon Sep 17 00:00:00 2001 From: Josh Varty <joshvarty@gmail.com> Date: Mon, 1 Feb 2016 01:16:09 -0500 Subject: [PATCH 4/6] Update to latest version of Roslyn --- src/SourceBrowser.Generator/App.config | 26 ++++- .../DocumentWalkers/CSWalkerUtils.cs | 6 +- .../DocumentWalkers/DocumentWalker.cs | 5 +- .../DocumentWalkers/VBWalkerUtils.cs | 6 +- .../SourceBrowser.Generator.csproj | 98 +++++++++++-------- src/SourceBrowser.Generator/packages.config | 35 +++++-- .../SourceBrowser.Samples.csproj | 58 ++--------- src/SourceBrowser.Samples/packages.config | 34 +++++-- .../SourceBrowser.Site.csproj | 58 ++--------- src/SourceBrowser.Site/packages.config | 34 +++++-- .../SourceBrowser.Tests.csproj | 60 ++---------- src/SourceBrowser.Tests/app.config | 16 +-- src/SourceBrowser.Tests/packages.config | 34 +++++-- 13 files changed, 218 insertions(+), 252 deletions(-) diff --git a/src/SourceBrowser.Generator/App.config b/src/SourceBrowser.Generator/App.config index 8e15646..c8cc771 100644 --- a/src/SourceBrowser.Generator/App.config +++ b/src/SourceBrowser.Generator/App.config @@ -1,6 +1,26 @@ -<?xml version="1.0" encoding="utf-8" ?> +<?xml version="1.0" encoding="utf-8"?> <configuration> <startup> - <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> + <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /> </startup> -</configuration> \ No newline at end of file + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Reflection.Metadata" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-1.1.0.0" newVersion="1.1.0.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="Microsoft.CodeAnalysis.Workspaces" publicKeyToken="31bf3856ad364e35" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-1.1.0.0" newVersion="1.1.0.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="Microsoft.CodeAnalysis" publicKeyToken="31bf3856ad364e35" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-1.1.0.0" newVersion="1.1.0.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="Microsoft.CodeAnalysis.CSharp" publicKeyToken="31bf3856ad364e35" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-1.1.0.0" newVersion="1.1.0.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration> diff --git a/src/SourceBrowser.Generator/DocumentWalkers/CSWalkerUtils.cs b/src/SourceBrowser.Generator/DocumentWalkers/CSWalkerUtils.cs index e8c76ae..704571f 100644 --- a/src/SourceBrowser.Generator/DocumentWalkers/CSWalkerUtils.cs +++ b/src/SourceBrowser.Generator/DocumentWalkers/CSWalkerUtils.cs @@ -29,13 +29,13 @@ internal CSWalkerUtils(DocumentWalker<CSWalkerUtils> walker) public string LocalVariableDelimiter { get; } = CSharpDelimiters.LOCAL_VARIABLE; - public string GetFullName(SyntaxToken token) => token.CSharpKind().ToString(); + public string GetFullName(SyntaxToken token) => token.Kind().ToString(); - public bool IsIdentifier(SyntaxToken token) => token.CSharpKind() == SyntaxKind.IdentifierToken; + public bool IsIdentifier(SyntaxToken token) => token.Kind() == SyntaxKind.IdentifierToken; public bool IsKeyword(SyntaxToken token) => token.IsKeyword(); - public bool IsLiteral(SyntaxToken token) => token.CSharpKind() == SyntaxKind.StringLiteralToken; + public bool IsLiteral(SyntaxToken token) => token.Kind() == SyntaxKind.StringLiteralToken; public override void VisitToken(SyntaxToken token) => _walker.VisitToken(token); } diff --git a/src/SourceBrowser.Generator/DocumentWalkers/DocumentWalker.cs b/src/SourceBrowser.Generator/DocumentWalkers/DocumentWalker.cs index a44fe93..09a2e8d 100644 --- a/src/SourceBrowser.Generator/DocumentWalkers/DocumentWalker.cs +++ b/src/SourceBrowser.Generator/DocumentWalkers/DocumentWalker.cs @@ -5,6 +5,7 @@ using SourceBrowser.Generator.Model; using SourceBrowser.Generator.Extensions; using Microsoft.CodeAnalysis.FindSymbols; +using Microsoft.CodeAnalysis.CSharp; namespace SourceBrowser.Generator.DocumentWalkers { @@ -81,7 +82,7 @@ private ICollection<Trivia> ProcessTrivia(SyntaxTriviaList triviaList) { var triviaModelList = triviaList.Select(n => new Trivia( value: n.ToFullString(), - type: n.CSharpKind().ToString() + type: n.Kind().ToString() )).ToList(); return triviaModelList; @@ -92,7 +93,7 @@ private ICollection<Trivia> ProcessTrivia(SyntaxTriviaList triviaList) /// </summary> private Token ProcessOtherToken(SyntaxToken token) { - string fullName = token.CSharpKind().ToString(); + string fullName = token.Kind().ToString(); string value = token.ToString(); string type = _walkerUtils.OtherTokenTypeName; int lineNumber = token.GetLocation().GetLineSpan().StartLinePosition.Line + 1; diff --git a/src/SourceBrowser.Generator/DocumentWalkers/VBWalkerUtils.cs b/src/SourceBrowser.Generator/DocumentWalkers/VBWalkerUtils.cs index 4f2a6cf..68c9011 100644 --- a/src/SourceBrowser.Generator/DocumentWalkers/VBWalkerUtils.cs +++ b/src/SourceBrowser.Generator/DocumentWalkers/VBWalkerUtils.cs @@ -29,13 +29,13 @@ internal VBWalkerUtils(DocumentWalker<VBWalkerUtils> walker) public string LocalVariableDelimiter { get; } = VBDelimiters.LOCAL_VARIABLE; - public string GetFullName(SyntaxToken token) => token.CSharpKind().ToString(); + public string GetFullName(SyntaxToken token) => token.Kind().ToString(); - public bool IsIdentifier(SyntaxToken token) => token.VBKind() == SyntaxKind.IdentifierToken; + public bool IsIdentifier(SyntaxToken token) => token.Kind() == SyntaxKind.IdentifierToken; public bool IsKeyword(SyntaxToken token) => token.IsKeyword(); - public bool IsLiteral(SyntaxToken token) => token.VBKind() == SyntaxKind.StringLiteralToken; + public bool IsLiteral(SyntaxToken token) => token.Kind() == SyntaxKind.StringLiteralToken; public override void VisitToken(SyntaxToken token) => _walker.VisitToken(token); } diff --git a/src/SourceBrowser.Generator/SourceBrowser.Generator.csproj b/src/SourceBrowser.Generator/SourceBrowser.Generator.csproj index e614bf7..f0edf7c 100644 --- a/src/SourceBrowser.Generator/SourceBrowser.Generator.csproj +++ b/src/SourceBrowser.Generator/SourceBrowser.Generator.csproj @@ -9,8 +9,9 @@ <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>SourceBrowser.Generator</RootNamespace> <AssemblyName>SourceBrowser.Generator</AssemblyName> - <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> + <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> <FileAlignment>512</FileAlignment> + <TargetFrameworkProfile /> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PlatformTarget>AnyCPU</PlatformTarget> @@ -35,50 +36,39 @@ <StartupObject /> </PropertyGroup> <ItemGroup> - <Reference Include="Microsoft.CodeAnalysis, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.Common.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.CSharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.CSharp.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.CSharp.Desktop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.CSharp.Desktop.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.CSharp.Workspaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.CSharp.Workspaces.dll</HintPath> + <Reference Include="Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.Common.1.1.1\lib\net45\Microsoft.CodeAnalysis.dll</HintPath> + <Private>True</Private> </Reference> - <Reference Include="Microsoft.CodeAnalysis.CSharp.Workspaces.Desktop"> - <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.CSharp.Workspaces.Desktop.dll</HintPath> + <Reference Include="Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.1.1.1\lib\net45\Microsoft.CodeAnalysis.CSharp.dll</HintPath> + <Private>True</Private> </Reference> - <Reference Include="Microsoft.CodeAnalysis.Desktop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.Common.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.Desktop.dll</HintPath> + <Reference Include="Microsoft.CodeAnalysis.CSharp.Workspaces, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.Workspaces.1.1.1\lib\net45\Microsoft.CodeAnalysis.CSharp.Workspaces.dll</HintPath> + <Private>True</Private> </Reference> - <Reference Include="Microsoft.CodeAnalysis.VisualBasic, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.VisualBasic.dll</HintPath> + <Reference Include="Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.1.1.1\lib\net45\Microsoft.CodeAnalysis.VisualBasic.dll</HintPath> + <Private>True</Private> </Reference> - <Reference Include="Microsoft.CodeAnalysis.VisualBasic.Desktop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.VisualBasic.Desktop.dll</HintPath> + <Reference Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.Workspaces.1.1.1\lib\net45\Microsoft.CodeAnalysis.VisualBasic.Workspaces.dll</HintPath> + <Private>True</Private> </Reference> - <Reference Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.Workspaces.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.VisualBasic.Workspaces.dll</HintPath> + <Reference Include="Microsoft.CodeAnalysis.Workspaces, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.Workspaces.Common.1.1.1\lib\net45\Microsoft.CodeAnalysis.Workspaces.dll</HintPath> + <Private>True</Private> </Reference> - <Reference Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces.Desktop"> - <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.Workspaces.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.VisualBasic.Workspaces.Desktop.dll</HintPath> + <Reference Include="Microsoft.CodeAnalysis.Workspaces.Desktop, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.Workspaces.Common.1.1.1\lib\net45\Microsoft.CodeAnalysis.Workspaces.Desktop.dll</HintPath> + <Private>True</Private> </Reference> - <Reference Include="Microsoft.CodeAnalysis.Workspaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.Workspaces.Common.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.Workspaces.dll</HintPath> + <Reference Include="Microsoft.DotNet.ProjectModel"> + <HintPath>..\lib\Microsoft.DotNet.ProjectModel.dll</HintPath> </Reference> - <Reference Include="Microsoft.CodeAnalysis.Workspaces.Desktop"> - <HintPath>..\packages\Microsoft.CodeAnalysis.Workspaces.Common.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.Workspaces.Desktop.dll</HintPath> + <Reference Include="Microsoft.DotNet.ProjectModel.Workspaces"> + <HintPath>..\lib\Microsoft.DotNet.ProjectModel.Workspaces.dll</HintPath> </Reference> <Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> @@ -86,15 +76,35 @@ </Reference> <Reference Include="System" /> <Reference Include="System.Collections" /> - <Reference Include="System.Collections.Immutable, Version=1.1.32.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <Reference Include="System.Collections.Immutable, Version=1.1.37.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Collections.Immutable.1.1.37\lib\dotnet\System.Collections.Immutable.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="System.Composition.AttributedModel, Version=1.0.27.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.AttributedModel.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="System.Composition.Convention, Version=1.0.27.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.Convention.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="System.Composition.Hosting, Version=1.0.27.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.Hosting.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="System.Composition.Runtime, Version=1.0.27.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.Runtime.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="System.Composition.TypedParts, Version=1.0.27.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.TypedParts.dll</HintPath> <Private>True</Private> - <HintPath>..\packages\System.Collections.Immutable.1.1.32-beta\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll</HintPath> </Reference> <Reference Include="System.Core" /> <Reference Include="System.Net.Http" /> - <Reference Include="System.Reflection.Metadata, Version=1.0.17.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\System.Reflection.Metadata.1.0.17-beta\lib\portable-net45+win8\System.Reflection.Metadata.dll</HintPath> + <Reference Include="System.Reflection.Metadata, Version=1.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Reflection.Metadata.1.1.0\lib\dotnet5.2\System.Reflection.Metadata.dll</HintPath> + <Private>True</Private> </Reference> <Reference Include="System.Web" /> <Reference Include="System.Xml.Linq" /> @@ -148,6 +158,10 @@ <Name>SourceBrowser.Search</Name> </ProjectReference> </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="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. diff --git a/src/SourceBrowser.Generator/packages.config b/src/SourceBrowser.Generator/packages.config index 84ee7aa..d961c97 100644 --- a/src/SourceBrowser.Generator/packages.config +++ b/src/SourceBrowser.Generator/packages.config @@ -1,13 +1,30 @@ <?xml version="1.0" encoding="utf-8"?> <packages> - <package id="Microsoft.CodeAnalysis" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.Common" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.CSharp" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.CSharp.Workspaces" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.VisualBasic" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.VisualBasic.Workspaces" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.Workspaces.Common" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis" version="1.1.1" targetFramework="net461" /> + <package id="Microsoft.CodeAnalysis.Analyzers" version="1.1.0" targetFramework="net461" /> + <package id="Microsoft.CodeAnalysis.Common" version="1.1.1" targetFramework="net461" /> + <package id="Microsoft.CodeAnalysis.CSharp" version="1.1.1" targetFramework="net461" /> + <package id="Microsoft.CodeAnalysis.CSharp.Workspaces" version="1.1.1" targetFramework="net461" /> + <package id="Microsoft.CodeAnalysis.VisualBasic" version="1.1.1" targetFramework="net461" /> + <package id="Microsoft.CodeAnalysis.VisualBasic.Workspaces" version="1.1.1" targetFramework="net461" /> + <package id="Microsoft.CodeAnalysis.Workspaces.Common" version="1.1.1" targetFramework="net461" /> + <package id="Microsoft.Composition" version="1.0.27" targetFramework="net461" /> <package id="Newtonsoft.Json" version="6.0.5" targetFramework="net45" /> - <package id="System.Collections.Immutable" version="1.1.32-beta" targetFramework="net45" /> - <package id="System.Reflection.Metadata" version="1.0.17-beta" targetFramework="net45" /> + <package id="System.Collections" version="4.0.0" targetFramework="net461" /> + <package id="System.Collections.Immutable" version="1.1.37" targetFramework="net461" /> + <package id="System.Diagnostics.Debug" version="4.0.0" targetFramework="net461" /> + <package id="System.Globalization" version="4.0.0" targetFramework="net461" /> + <package id="System.IO" version="4.0.0" targetFramework="net461" /> + <package id="System.Linq" version="4.0.0" targetFramework="net461" /> + <package id="System.Reflection" version="4.0.0" targetFramework="net461" /> + <package id="System.Reflection.Extensions" version="4.0.0" targetFramework="net461" /> + <package id="System.Reflection.Metadata" version="1.1.0" targetFramework="net461" /> + <package id="System.Reflection.Primitives" version="4.0.0" targetFramework="net461" /> + <package id="System.Resources.ResourceManager" version="4.0.0" targetFramework="net461" /> + <package id="System.Runtime" version="4.0.0" targetFramework="net461" /> + <package id="System.Runtime.Extensions" version="4.0.0" targetFramework="net461" /> + <package id="System.Runtime.InteropServices" version="4.0.0" targetFramework="net461" /> + <package id="System.Text.Encoding" version="4.0.0" targetFramework="net461" /> + <package id="System.Text.Encoding.Extensions" version="4.0.0" targetFramework="net461" /> + <package id="System.Threading" version="4.0.0" targetFramework="net461" /> </packages> \ No newline at end of file diff --git a/src/SourceBrowser.Samples/SourceBrowser.Samples.csproj b/src/SourceBrowser.Samples/SourceBrowser.Samples.csproj index 509b004..2e886f9 100644 --- a/src/SourceBrowser.Samples/SourceBrowser.Samples.csproj +++ b/src/SourceBrowser.Samples/SourceBrowser.Samples.csproj @@ -32,56 +32,10 @@ <WarningLevel>4</WarningLevel> </PropertyGroup> <ItemGroup> - <Reference Include="Microsoft.CodeAnalysis, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.Common.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.CSharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.CSharp.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.CSharp.Desktop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.CSharp.Desktop.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.CSharp.Workspaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.CSharp.Workspaces.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.CSharp.Workspaces.Desktop"> - <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.CSharp.Workspaces.Desktop.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.Desktop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.Common.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.Desktop.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.VisualBasic, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.VisualBasic.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.VisualBasic.Desktop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.VisualBasic.Desktop.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.Workspaces.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.VisualBasic.Workspaces.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces.Desktop"> - <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.Workspaces.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.VisualBasic.Workspaces.Desktop.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.Workspaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.Workspaces.Common.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.Workspaces.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.Workspaces.Desktop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.Workspaces.Common.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.Workspaces.Desktop.dll</HintPath> - </Reference> <Reference Include="System" /> - <Reference Include="System.Collections.Immutable, Version=1.1.32.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <Reference Include="System.Collections.Immutable, Version=1.1.37.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Collections.Immutable.1.1.37\lib\dotnet\System.Collections.Immutable.dll</HintPath> <Private>True</Private> - <HintPath>..\packages\System.Collections.Immutable.1.1.32-beta\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll</HintPath> </Reference> <Reference Include="System.Composition.AttributedModel"> <HintPath>..\packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.AttributedModel.dll</HintPath> @@ -100,10 +54,6 @@ </Reference> <Reference Include="System.Core" /> <Reference Include="System.Net.Http" /> - <Reference Include="System.Reflection.Metadata, Version=1.0.17.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\System.Reflection.Metadata.1.0.17-beta\lib\portable-net45+win8\System.Reflection.Metadata.dll</HintPath> - </Reference> <Reference Include="System.Xml.Linq" /> <Reference Include="System.Data.DataSetExtensions" /> <Reference Include="Microsoft.CSharp" /> @@ -124,6 +74,10 @@ <Name>SourceBrowser.Generator</Name> </ProjectReference> </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="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. diff --git a/src/SourceBrowser.Samples/packages.config b/src/SourceBrowser.Samples/packages.config index 8364729..8fd055a 100644 --- a/src/SourceBrowser.Samples/packages.config +++ b/src/SourceBrowser.Samples/packages.config @@ -1,13 +1,29 @@ <?xml version="1.0" encoding="utf-8"?> <packages> - <package id="Microsoft.CodeAnalysis" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.Common" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.CSharp" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.CSharp.Workspaces" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.VisualBasic" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.VisualBasic.Workspaces" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.Workspaces.Common" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis" version="1.1.1" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis.Analyzers" version="1.1.0" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis.Common" version="1.1.1" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis.CSharp" version="1.1.1" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis.CSharp.Workspaces" version="1.1.1" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis.VisualBasic" version="1.1.1" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis.VisualBasic.Workspaces" version="1.1.1" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis.Workspaces.Common" version="1.1.1" targetFramework="net45" /> <package id="Microsoft.Composition" version="1.0.27" targetFramework="net45" /> - <package id="System.Collections.Immutable" version="1.1.32-beta" targetFramework="net45" /> - <package id="System.Reflection.Metadata" version="1.0.17-beta" targetFramework="net45" /> + <package id="System.Collections" version="4.0.0" targetFramework="net45" /> + <package id="System.Collections.Immutable" version="1.1.37" targetFramework="net45" /> + <package id="System.Diagnostics.Debug" version="4.0.0" targetFramework="net45" /> + <package id="System.Globalization" version="4.0.0" targetFramework="net45" /> + <package id="System.IO" version="4.0.0" targetFramework="net45" /> + <package id="System.Linq" version="4.0.0" targetFramework="net45" /> + <package id="System.Reflection" version="4.0.0" targetFramework="net45" /> + <package id="System.Reflection.Extensions" version="4.0.0" targetFramework="net45" /> + <package id="System.Reflection.Metadata" version="1.1.0" targetFramework="net45" /> + <package id="System.Reflection.Primitives" version="4.0.0" targetFramework="net45" /> + <package id="System.Resources.ResourceManager" version="4.0.0" targetFramework="net45" /> + <package id="System.Runtime" version="4.0.0" targetFramework="net45" /> + <package id="System.Runtime.Extensions" version="4.0.0" targetFramework="net45" /> + <package id="System.Runtime.InteropServices" version="4.0.0" targetFramework="net45" /> + <package id="System.Text.Encoding" version="4.0.0" targetFramework="net45" /> + <package id="System.Text.Encoding.Extensions" version="4.0.0" targetFramework="net45" /> + <package id="System.Threading" version="4.0.0" targetFramework="net45" /> </packages> \ No newline at end of file diff --git a/src/SourceBrowser.Site/SourceBrowser.Site.csproj b/src/SourceBrowser.Site/SourceBrowser.Site.csproj index 571db01..2ebaca2 100644 --- a/src/SourceBrowser.Site/SourceBrowser.Site.csproj +++ b/src/SourceBrowser.Site/SourceBrowser.Site.csproj @@ -20,6 +20,7 @@ <IISExpressAnonymousAuthentication /> <IISExpressWindowsAuthentication /> <IISExpressUseClassicPipelineMode /> + <UseGlobalApplicationHostFile /> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -56,60 +57,15 @@ <Reference Include="Microsoft.AspNet.Identity.Owin"> <HintPath>..\packages\Microsoft.AspNet.Identity.Owin.2.1.0\lib\net45\Microsoft.AspNet.Identity.Owin.dll</HintPath> </Reference> - <Reference Include="Microsoft.CodeAnalysis, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.Common.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.CSharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.CSharp.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.CSharp.Desktop"> - <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.CSharp.Desktop.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.CSharp.Workspaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.CSharp.Workspaces.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.CSharp.Workspaces.Desktop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.CSharp.Workspaces.Desktop.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.Desktop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.Common.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.Desktop.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.VisualBasic, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.VisualBasic.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.VisualBasic.Desktop"> - <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.VisualBasic.Desktop.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.Workspaces.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.VisualBasic.Workspaces.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces.Desktop"> - <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.Workspaces.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.VisualBasic.Workspaces.Desktop.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.Workspaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.Workspaces.Common.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.Workspaces.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.Workspaces.Desktop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.Workspaces.Common.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.Workspaces.Desktop.dll</HintPath> - </Reference> <Reference Include="Microsoft.CSharp" /> <Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\packages\Newtonsoft.Json.6.0.6\lib\net45\Newtonsoft.Json.dll</HintPath> </Reference> <Reference Include="System" /> - <Reference Include="System.Collections.Immutable, Version=1.1.32.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <Reference Include="System.Collections.Immutable, Version=1.1.37.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Collections.Immutable.1.1.37\lib\dotnet\System.Collections.Immutable.dll</HintPath> <Private>True</Private> - <HintPath>..\packages\System.Collections.Immutable.1.1.32-beta\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll</HintPath> </Reference> <Reference Include="System.Composition.AttributedModel"> <HintPath>..\packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.AttributedModel.dll</HintPath> @@ -128,10 +84,6 @@ </Reference> <Reference Include="System.Data" /> <Reference Include="System.Drawing" /> - <Reference Include="System.Reflection.Metadata, Version=1.0.17.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\System.Reflection.Metadata.1.0.17-beta\lib\portable-net45+win8\System.Reflection.Metadata.dll</HintPath> - </Reference> <Reference Include="System.Web.DynamicData" /> <Reference Include="System.Web.Entity" /> <Reference Include="System.Web.ApplicationServices" /> @@ -531,6 +483,10 @@ <Name>SourceBrowser.SolutionRetriever</Name> </ProjectReference> </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> <PropertyGroup> <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> diff --git a/src/SourceBrowser.Site/packages.config b/src/SourceBrowser.Site/packages.config index 1b6217e..ab38c01 100644 --- a/src/SourceBrowser.Site/packages.config +++ b/src/SourceBrowser.Site/packages.config @@ -15,13 +15,14 @@ <package id="Microsoft.AspNet.Razor" version="3.2.2" targetFramework="net45" /> <package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net45" /> <package id="Microsoft.AspNet.WebPages" version="3.2.2" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.Common" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.CSharp" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.CSharp.Workspaces" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.VisualBasic" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.VisualBasic.Workspaces" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.Workspaces.Common" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis" version="1.1.1" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis.Analyzers" version="1.1.0" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis.Common" version="1.1.1" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis.CSharp" version="1.1.1" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis.CSharp.Workspaces" version="1.1.1" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis.VisualBasic" version="1.1.1" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis.VisualBasic.Workspaces" version="1.1.1" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis.Workspaces.Common" version="1.1.1" targetFramework="net45" /> <package id="Microsoft.Composition" version="1.0.27" targetFramework="net45" /> <package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.1.2" targetFramework="net45" /> <package id="Microsoft.Owin" version="2.1.0" targetFramework="net45" /> @@ -38,7 +39,22 @@ <package id="Newtonsoft.Json" version="6.0.6" targetFramework="net45" /> <package id="Owin" version="1.0" targetFramework="net45" /> <package id="Respond" version="1.2.0" targetFramework="net45" /> - <package id="System.Collections.Immutable" version="1.1.32-beta" targetFramework="net45" /> - <package id="System.Reflection.Metadata" version="1.0.17-beta" targetFramework="net45" /> + <package id="System.Collections" version="4.0.0" targetFramework="net45" /> + <package id="System.Collections.Immutable" version="1.1.37" targetFramework="net45" /> + <package id="System.Diagnostics.Debug" version="4.0.0" targetFramework="net45" /> + <package id="System.Globalization" version="4.0.0" targetFramework="net45" /> + <package id="System.IO" version="4.0.0" targetFramework="net45" /> + <package id="System.Linq" version="4.0.0" targetFramework="net45" /> + <package id="System.Reflection" version="4.0.0" targetFramework="net45" /> + <package id="System.Reflection.Extensions" version="4.0.0" targetFramework="net45" /> + <package id="System.Reflection.Metadata" version="1.1.0" targetFramework="net45" /> + <package id="System.Reflection.Primitives" version="4.0.0" targetFramework="net45" /> + <package id="System.Resources.ResourceManager" version="4.0.0" targetFramework="net45" /> + <package id="System.Runtime" version="4.0.0" targetFramework="net45" /> + <package id="System.Runtime.Extensions" version="4.0.0" targetFramework="net45" /> + <package id="System.Runtime.InteropServices" version="4.0.0" targetFramework="net45" /> + <package id="System.Text.Encoding" version="4.0.0" targetFramework="net45" /> + <package id="System.Text.Encoding.Extensions" version="4.0.0" targetFramework="net45" /> + <package id="System.Threading" version="4.0.0" targetFramework="net45" /> <package id="WebGrease" version="1.5.2" targetFramework="net45" /> </packages> \ No newline at end of file diff --git a/src/SourceBrowser.Tests/SourceBrowser.Tests.csproj b/src/SourceBrowser.Tests/SourceBrowser.Tests.csproj index daef377..380eec0 100644 --- a/src/SourceBrowser.Tests/SourceBrowser.Tests.csproj +++ b/src/SourceBrowser.Tests/SourceBrowser.Tests.csproj @@ -35,54 +35,6 @@ <WarningLevel>4</WarningLevel> </PropertyGroup> <ItemGroup> - <Reference Include="Microsoft.CodeAnalysis, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.Common.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.CSharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.CSharp.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.CSharp.Desktop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.CSharp.Desktop.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.CSharp.Workspaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.CSharp.Workspaces.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.CSharp.Workspaces.Desktop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.CSharp.Workspaces.Desktop.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.Desktop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.Common.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.Desktop.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.VisualBasic, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.VisualBasic.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.VisualBasic.Desktop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.VisualBasic.Desktop.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.Workspaces.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.VisualBasic.Workspaces.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces.Desktop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.Workspaces.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.VisualBasic.Workspaces.Desktop.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.Workspaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.Workspaces.Common.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.Workspaces.dll</HintPath> - </Reference> - <Reference Include="Microsoft.CodeAnalysis.Workspaces.Desktop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.CodeAnalysis.Workspaces.Common.1.0.0-beta1-20141031-01\lib\net45\Microsoft.CodeAnalysis.Workspaces.Desktop.dll</HintPath> - </Reference> <Reference Include="Roslyn.Services.UnitTests"> <HintPath>..\lib\Roslyn.Services.UnitTests.dll</HintPath> </Reference> @@ -90,9 +42,9 @@ <HintPath>..\lib\Roslyn.Test.Utilities.dll</HintPath> </Reference> <Reference Include="System" /> - <Reference Include="System.Collections.Immutable, Version=1.1.32.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <Reference Include="System.Collections.Immutable, Version=1.1.37.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Collections.Immutable.1.1.37\lib\dotnet\System.Collections.Immutable.dll</HintPath> <Private>True</Private> - <HintPath>..\packages\System.Collections.Immutable.1.1.32-beta\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll</HintPath> </Reference> <Reference Include="System.Composition.AttributedModel"> <HintPath>..\packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.AttributedModel.dll</HintPath> @@ -109,10 +61,6 @@ <Reference Include="System.Composition.TypedParts"> <HintPath>..\packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.TypedParts.dll</HintPath> </Reference> - <Reference Include="System.Reflection.Metadata, Version=1.0.17.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\System.Reflection.Metadata.1.0.17-beta\lib\portable-net45+win8\System.Reflection.Metadata.dll</HintPath> - </Reference> </ItemGroup> <Choose> <When Condition="('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'"> @@ -140,6 +88,10 @@ <Name>SourceBrowser.Generator</Name> </ProjectReference> </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> <Choose> <When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'"> <ItemGroup> diff --git a/src/SourceBrowser.Tests/app.config b/src/SourceBrowser.Tests/app.config index 38cf066..1c195be 100644 --- a/src/SourceBrowser.Tests/app.config +++ b/src/SourceBrowser.Tests/app.config @@ -4,32 +4,36 @@ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-1.1.32.0" newVersion="1.1.32.0" /> + <bindingRedirect oldVersion="0.0.0.0-1.1.37.0" newVersion="1.1.37.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Reflection.Metadata" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-1.0.17.0" newVersion="1.0.17.0" /> + <bindingRedirect oldVersion="0.0.0.0-1.1.0.0" newVersion="1.1.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.CodeAnalysis.CSharp" publicKeyToken="31bf3856ad364e35" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-0.7.0.0" newVersion="0.7.0.0" /> + <bindingRedirect oldVersion="0.0.0.0-1.1.0.0" newVersion="1.1.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.CodeAnalysis.Workspaces" publicKeyToken="31bf3856ad364e35" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-0.7.0.0" newVersion="0.7.0.0" /> + <bindingRedirect oldVersion="0.0.0.0-1.1.0.0" newVersion="1.1.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.CodeAnalysis" publicKeyToken="31bf3856ad364e35" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-0.7.0.0" newVersion="0.7.0.0" /> + <bindingRedirect oldVersion="0.0.0.0-1.1.0.0" newVersion="1.1.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.CodeAnalysis.VisualBasic" publicKeyToken="31bf3856ad364e35" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-0.7.0.0" newVersion="0.7.0.0" /> + <bindingRedirect oldVersion="0.0.0.0-1.1.0.0" newVersion="1.1.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.CodeAnalysis.Desktop" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-0.7.0.0" newVersion="0.7.0.0" /> </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="Microsoft.CodeAnalysis.Workspaces.Desktop" publicKeyToken="31bf3856ad364e35" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-1.1.0.0" newVersion="1.1.0.0" /> + </dependentAssembly> </assemblyBinding> </runtime> </configuration> \ No newline at end of file diff --git a/src/SourceBrowser.Tests/packages.config b/src/SourceBrowser.Tests/packages.config index 8364729..8fd055a 100644 --- a/src/SourceBrowser.Tests/packages.config +++ b/src/SourceBrowser.Tests/packages.config @@ -1,13 +1,29 @@ <?xml version="1.0" encoding="utf-8"?> <packages> - <package id="Microsoft.CodeAnalysis" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.Common" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.CSharp" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.CSharp.Workspaces" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.VisualBasic" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.VisualBasic.Workspaces" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> - <package id="Microsoft.CodeAnalysis.Workspaces.Common" version="1.0.0-beta1-20141031-01" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis" version="1.1.1" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis.Analyzers" version="1.1.0" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis.Common" version="1.1.1" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis.CSharp" version="1.1.1" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis.CSharp.Workspaces" version="1.1.1" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis.VisualBasic" version="1.1.1" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis.VisualBasic.Workspaces" version="1.1.1" targetFramework="net45" /> + <package id="Microsoft.CodeAnalysis.Workspaces.Common" version="1.1.1" targetFramework="net45" /> <package id="Microsoft.Composition" version="1.0.27" targetFramework="net45" /> - <package id="System.Collections.Immutable" version="1.1.32-beta" targetFramework="net45" /> - <package id="System.Reflection.Metadata" version="1.0.17-beta" targetFramework="net45" /> + <package id="System.Collections" version="4.0.0" targetFramework="net45" /> + <package id="System.Collections.Immutable" version="1.1.37" targetFramework="net45" /> + <package id="System.Diagnostics.Debug" version="4.0.0" targetFramework="net45" /> + <package id="System.Globalization" version="4.0.0" targetFramework="net45" /> + <package id="System.IO" version="4.0.0" targetFramework="net45" /> + <package id="System.Linq" version="4.0.0" targetFramework="net45" /> + <package id="System.Reflection" version="4.0.0" targetFramework="net45" /> + <package id="System.Reflection.Extensions" version="4.0.0" targetFramework="net45" /> + <package id="System.Reflection.Metadata" version="1.1.0" targetFramework="net45" /> + <package id="System.Reflection.Primitives" version="4.0.0" targetFramework="net45" /> + <package id="System.Resources.ResourceManager" version="4.0.0" targetFramework="net45" /> + <package id="System.Runtime" version="4.0.0" targetFramework="net45" /> + <package id="System.Runtime.Extensions" version="4.0.0" targetFramework="net45" /> + <package id="System.Runtime.InteropServices" version="4.0.0" targetFramework="net45" /> + <package id="System.Text.Encoding" version="4.0.0" targetFramework="net45" /> + <package id="System.Text.Encoding.Extensions" version="4.0.0" targetFramework="net45" /> + <package id="System.Threading" version="4.0.0" targetFramework="net45" /> </packages> \ No newline at end of file From d17e076acd9c5115f43fd8e4a0f3fc2368e88384 Mon Sep 17 00:00:00 2001 From: Josh Varty <joshvarty@gmail.com> Date: Mon, 1 Feb 2016 01:16:34 -0500 Subject: [PATCH 5/6] SolutionAnalyzer can handle ProjectJsonWorkspace --- .../SolutionAnalyzer.cs | 24 +++++++++++++++---- src/SourceBrowser.Samples/Program.cs | 2 +- .../Repositories/UploadRepository.cs | 16 +++++++++---- 3 files changed, 32 insertions(+), 10 deletions(-) diff --git a/src/SourceBrowser.Generator/SolutionAnalyzer.cs b/src/SourceBrowser.Generator/SolutionAnalyzer.cs index ee25f0d..8f21de0 100644 --- a/src/SourceBrowser.Generator/SolutionAnalyzer.cs +++ b/src/SourceBrowser.Generator/SolutionAnalyzer.cs @@ -16,21 +16,34 @@ using SourceBrowser.Generator.Extensions; using SourceBrowser.Generator.Model; using SourceBrowser.Generator.DocumentWalkers; +using Microsoft.DotNet.ProjectModel.Workspaces; namespace SourceBrowser.Generator { public class SolutionAnalayzer { public bool WorkspaceFailed { get; set; } - MSBuildWorkspace _workspace; + Workspace _workspace; Solution _solution; private ReferencesourceLinkProvider _refsourceLinkProvider = new ReferencesourceLinkProvider(); - public SolutionAnalayzer(string solutionPath) + public static SolutionAnalayzer FromSolutionPath(string solutionPath) { - _workspace = MSBuildWorkspace.Create(); - _workspace.WorkspaceFailed += _workspace_WorkspaceFailed; - _solution = _workspace.OpenSolutionAsync(solutionPath).Result; + var workspace = MSBuildWorkspace.Create(); + var soln = workspace.OpenSolutionAsync(solutionPath).Result; + return new SolutionAnalayzer(workspace); + } + + public static SolutionAnalayzer FromProjectJsonPaths(string[] projectJsonPaths) + { + var projectJsonWorkspace = new ProjectJsonWorkspace(projectJsonPaths); + return new SolutionAnalayzer(projectJsonWorkspace); + } + + private SolutionAnalayzer(Workspace workspace) + { + _workspace = workspace; + _solution = workspace.CurrentSolution; _refsourceLinkProvider.Init(); } @@ -91,6 +104,7 @@ private void buildDocumentModel(WorkspaceModel workspaceModel, Document document containingFolder.Children.Add(documentModel); } + private IProjectItem findDocumentParent(WorkspaceModel workspaceModel, Document document) { IProjectItem currentNode = workspaceModel; diff --git a/src/SourceBrowser.Samples/Program.cs b/src/SourceBrowser.Samples/Program.cs index 922940d..2520bd2 100644 --- a/src/SourceBrowser.Samples/Program.cs +++ b/src/SourceBrowser.Samples/Program.cs @@ -38,7 +38,7 @@ static void Main(string[] args) Console.Write("Opening " + absoluteSolutionPath); Console.WriteLine("..."); - var solutionAnalyzer = new SolutionAnalayzer(absoluteSolutionPath); + var solutionAnalyzer = SolutionAnalayzer.FromSolutionPath(absoluteSolutionPath); Console.Write("Analyzing and saving into " + absoluteSaveDirectory); Console.WriteLine("..."); diff --git a/src/SourceBrowser.Site/Repositories/UploadRepository.cs b/src/SourceBrowser.Site/Repositories/UploadRepository.cs index 09eaef2..1d2e779 100644 --- a/src/SourceBrowser.Site/Repositories/UploadRepository.cs +++ b/src/SourceBrowser.Site/Repositories/UploadRepository.cs @@ -8,6 +8,7 @@ using System.IO; using System.Configuration; using SourceBrowser.Generator.Model; +using SourceBrowser.Generator; namespace SourceBrowser.Site.Repositories { @@ -28,7 +29,7 @@ internal static WorkspaceModel ProcessSolution(string solutionPath, string repoR // When testing, give full trust to the developer's machine if (String.IsNullOrEmpty(safeUserName)) { - var sourceGenerator = new Generator.SolutionAnalayzer(solutionPath); + var sourceGenerator = SolutionAnalayzer.FromSolutionPath(solutionPath); if(sourceGenerator.WorkspaceFailed) { return null; @@ -59,7 +60,7 @@ internal static WorkspaceModel ProcessSolution(string solutionPath, string repoR // Use the token handle returned by LogonUser. using (WindowsImpersonationContext impersonatedUser = WindowsIdentity.Impersonate(safeTokenHandle.DangerousGetHandle())) { - var sourceGenerator = new Generator.SolutionAnalayzer(solutionPath); + var sourceGenerator = SolutionAnalayzer.FromSolutionPath(solutionPath); if (sourceGenerator.WorkspaceFailed) { return null; @@ -73,12 +74,19 @@ internal static WorkspaceModel ProcessSolution(string solutionPath, string repoR internal static WorkspaceModel ProcessOmnisharp(string omnisharpPath, string repoRootPath) { - throw new NotImplementedException(); + return null; } internal static WorkspaceModel ProcessProjectJson(string[] projectJsonPaths, string repoRootPath) { - throw new NotImplementedException(); + + var sourceGenerator = SolutionAnalayzer.FromProjectJsonPaths(projectJsonPaths); + if (sourceGenerator.WorkspaceFailed) + { + return null; + } + var workspaceModel = sourceGenerator.BuildWorkspaceModel(repoRootPath); + return workspaceModel; } internal static void SaveReadme(string repoPath, string readmeInHtml) From 7810542c1e324f3af275d1313251fa4d1cf3b42b Mon Sep 17 00:00:00 2001 From: Josh Varty <joshvarty@gmail.com> Date: Mon, 1 Feb 2016 13:44:59 -0500 Subject: [PATCH 6/6] Update .csproj(s) with latest Roslyn bits --- .../SourceBrowser.Samples.csproj | 32 +++++++++++++++++++ .../SourceBrowser.Site.csproj | 32 +++++++++++++++++++ .../SourceBrowser.Tests.csproj | 32 +++++++++++++++++++ 3 files changed, 96 insertions(+) diff --git a/src/SourceBrowser.Samples/SourceBrowser.Samples.csproj b/src/SourceBrowser.Samples/SourceBrowser.Samples.csproj index 2e886f9..f833608 100644 --- a/src/SourceBrowser.Samples/SourceBrowser.Samples.csproj +++ b/src/SourceBrowser.Samples/SourceBrowser.Samples.csproj @@ -32,6 +32,34 @@ <WarningLevel>4</WarningLevel> </PropertyGroup> <ItemGroup> + <Reference Include="Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.Common.1.1.1\lib\net45\Microsoft.CodeAnalysis.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.1.1.1\lib\net45\Microsoft.CodeAnalysis.CSharp.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Microsoft.CodeAnalysis.CSharp.Workspaces, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.Workspaces.1.1.1\lib\net45\Microsoft.CodeAnalysis.CSharp.Workspaces.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.1.1.1\lib\net45\Microsoft.CodeAnalysis.VisualBasic.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.Workspaces.1.1.1\lib\net45\Microsoft.CodeAnalysis.VisualBasic.Workspaces.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Microsoft.CodeAnalysis.Workspaces, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.Workspaces.Common.1.1.1\lib\net45\Microsoft.CodeAnalysis.Workspaces.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Microsoft.CodeAnalysis.Workspaces.Desktop, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.Workspaces.Common.1.1.1\lib\net45\Microsoft.CodeAnalysis.Workspaces.Desktop.dll</HintPath> + <Private>True</Private> + </Reference> <Reference Include="System" /> <Reference Include="System.Collections.Immutable, Version=1.1.37.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.Collections.Immutable.1.1.37\lib\dotnet\System.Collections.Immutable.dll</HintPath> @@ -54,6 +82,10 @@ </Reference> <Reference Include="System.Core" /> <Reference Include="System.Net.Http" /> + <Reference Include="System.Reflection.Metadata, Version=1.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Reflection.Metadata.1.1.0\lib\dotnet5.2\System.Reflection.Metadata.dll</HintPath> + <Private>True</Private> + </Reference> <Reference Include="System.Xml.Linq" /> <Reference Include="System.Data.DataSetExtensions" /> <Reference Include="Microsoft.CSharp" /> diff --git a/src/SourceBrowser.Site/SourceBrowser.Site.csproj b/src/SourceBrowser.Site/SourceBrowser.Site.csproj index 2ebaca2..eb5454d 100644 --- a/src/SourceBrowser.Site/SourceBrowser.Site.csproj +++ b/src/SourceBrowser.Site/SourceBrowser.Site.csproj @@ -57,6 +57,34 @@ <Reference Include="Microsoft.AspNet.Identity.Owin"> <HintPath>..\packages\Microsoft.AspNet.Identity.Owin.2.1.0\lib\net45\Microsoft.AspNet.Identity.Owin.dll</HintPath> </Reference> + <Reference Include="Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.Common.1.1.1\lib\net45\Microsoft.CodeAnalysis.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.1.1.1\lib\net45\Microsoft.CodeAnalysis.CSharp.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Microsoft.CodeAnalysis.CSharp.Workspaces, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.Workspaces.1.1.1\lib\net45\Microsoft.CodeAnalysis.CSharp.Workspaces.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.1.1.1\lib\net45\Microsoft.CodeAnalysis.VisualBasic.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.Workspaces.1.1.1\lib\net45\Microsoft.CodeAnalysis.VisualBasic.Workspaces.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Microsoft.CodeAnalysis.Workspaces, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.Workspaces.Common.1.1.1\lib\net45\Microsoft.CodeAnalysis.Workspaces.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Microsoft.CodeAnalysis.Workspaces.Desktop, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.Workspaces.Common.1.1.1\lib\net45\Microsoft.CodeAnalysis.Workspaces.Desktop.dll</HintPath> + <Private>True</Private> + </Reference> <Reference Include="Microsoft.CSharp" /> <Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> @@ -84,6 +112,10 @@ </Reference> <Reference Include="System.Data" /> <Reference Include="System.Drawing" /> + <Reference Include="System.Reflection.Metadata, Version=1.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Reflection.Metadata.1.1.0\lib\dotnet5.2\System.Reflection.Metadata.dll</HintPath> + <Private>True</Private> + </Reference> <Reference Include="System.Web.DynamicData" /> <Reference Include="System.Web.Entity" /> <Reference Include="System.Web.ApplicationServices" /> diff --git a/src/SourceBrowser.Tests/SourceBrowser.Tests.csproj b/src/SourceBrowser.Tests/SourceBrowser.Tests.csproj index 380eec0..32b3a6e 100644 --- a/src/SourceBrowser.Tests/SourceBrowser.Tests.csproj +++ b/src/SourceBrowser.Tests/SourceBrowser.Tests.csproj @@ -35,6 +35,34 @@ <WarningLevel>4</WarningLevel> </PropertyGroup> <ItemGroup> + <Reference Include="Microsoft.CodeAnalysis, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.Common.1.1.1\lib\net45\Microsoft.CodeAnalysis.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.1.1.1\lib\net45\Microsoft.CodeAnalysis.CSharp.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Microsoft.CodeAnalysis.CSharp.Workspaces, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.Workspaces.1.1.1\lib\net45\Microsoft.CodeAnalysis.CSharp.Workspaces.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.1.1.1\lib\net45\Microsoft.CodeAnalysis.VisualBasic.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.VisualBasic.Workspaces.1.1.1\lib\net45\Microsoft.CodeAnalysis.VisualBasic.Workspaces.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Microsoft.CodeAnalysis.Workspaces, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.Workspaces.Common.1.1.1\lib\net45\Microsoft.CodeAnalysis.Workspaces.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Microsoft.CodeAnalysis.Workspaces.Desktop, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.Workspaces.Common.1.1.1\lib\net45\Microsoft.CodeAnalysis.Workspaces.Desktop.dll</HintPath> + <Private>True</Private> + </Reference> <Reference Include="Roslyn.Services.UnitTests"> <HintPath>..\lib\Roslyn.Services.UnitTests.dll</HintPath> </Reference> @@ -61,6 +89,10 @@ <Reference Include="System.Composition.TypedParts"> <HintPath>..\packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.TypedParts.dll</HintPath> </Reference> + <Reference Include="System.Reflection.Metadata, Version=1.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Reflection.Metadata.1.1.0\lib\dotnet5.2\System.Reflection.Metadata.dll</HintPath> + <Private>True</Private> + </Reference> </ItemGroup> <Choose> <When Condition="('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'">