Fix bugs in TagHelper discovery

This commit is contained in:
Ryan Nowak 2017-01-09 18:11:45 -08:00
parent ead9692ab1
commit 6c7d121ce8
6 changed files with 20 additions and 15 deletions

View File

@ -33,7 +33,7 @@ namespace Microsoft.CodeAnalysis.Razor
var assembly = compilation.GetAssemblyOrModuleSymbol(reference) as IAssemblySymbol;
if (assembly != null)
{
visitor.Visit(compilation.Assembly.GlobalNamespace);
visitor.Visit(assembly.GlobalNamespace);
}
}

View File

@ -6,4 +6,5 @@ using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("Microsoft.CodeAnalysis.Razor.Workspaces.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("Microsoft.CodeAnalysis.Remote.Razor, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("Microsoft.VisualStudio.LanguageServices.Razor, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("Microsoft.VisualStudio.RazorExtension, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")]

View File

@ -21,9 +21,9 @@ namespace Microsoft.CodeAnalysis.Remote.Razor
{
}
public async Task<IEnumerable<TagHelperDescriptor>> GetTagHelpersAsync(byte[] projectIdBytes, string projectDebugName, byte[] solutionChecksum, CancellationToken cancellationToken = default(CancellationToken))
public async Task<IEnumerable<TagHelperDescriptor>> GetTagHelpersAsync(Guid projectIdBytes, string projectDebugName, CancellationToken cancellationToken = default(CancellationToken))
{
var projectId = ProjectId.CreateFromSerialized(new Guid(projectIdBytes), projectDebugName);
var projectId = ProjectId.CreateFromSerialized(projectIdBytes, projectDebugName);
var solution = await GetSolutionAsync().ConfigureAwait(false);
var project = solution.GetProject(projectId);
@ -34,15 +34,19 @@ namespace Microsoft.CodeAnalysis.Remote.Razor
return results;
}
public Task<IEnumerable<DirectiveDescriptor>> GetDirectivesAsync(byte[] projectIdBytes, string projectDebugName, byte[] solutionChecksum, CancellationToken cancellationToken = default(CancellationToken))
public Task<IEnumerable<DirectiveDescriptor>> GetDirectivesAsync(Guid projectIdBytes, string projectDebugName, CancellationToken cancellationToken = default(CancellationToken))
{
var projectId = ProjectId.CreateFromSerialized(projectIdBytes, projectDebugName);
var engine = RazorEngine.Create();
var directives = engine.Features.OfType<IRazorDirectiveFeature>().FirstOrDefault()?.Directives;
return Task.FromResult(directives ?? Enumerable.Empty<DirectiveDescriptor>());
}
public Task<GeneratedDocument> GenerateDocumentAsync(byte[] projectIdBytes, string projectDebugName, string filename, string text, byte[] solutionChecksum, CancellationToken cancellationToken = default(CancellationToken))
public Task<GeneratedDocument> GenerateDocumentAsync(Guid projectIdBytes, string projectDebugName, string filename, string text, CancellationToken cancellationToken = default(CancellationToken))
{
var projectId = ProjectId.CreateFromSerialized(projectIdBytes, projectDebugName);
var engine = RazorEngine.Create();
RazorSourceDocument source;

View File

@ -19,7 +19,7 @@ namespace Microsoft.VisualStudio.LanguageServices.Razor
using (var session = await client.CreateSessionAsync(project.Solution))
{
var directives = await session.InvokeAsync<IEnumerable<DirectiveDescriptor>>("GetDirectivesAsync", new object[] { project.Id.Id, "Foo" }).ConfigureAwait(false);
var directives = await session.InvokeAsync<IEnumerable<DirectiveDescriptor>>("GetDirectivesAsync", new object[] { project.Id.Id, "Foo", }).ConfigureAwait(false);
return directives;
}
}

View File

@ -22,7 +22,7 @@ namespace Microsoft.VisualStudio.LanguageServices.Razor
using (var session = await client.CreateSessionAsync(project.Solution))
{
var results = await session.InvokeAsync<IEnumerable<TagHelperDescriptor>>("GetTagHelpersAsync", new object[] { project.Id.Id, "Foo" }).ConfigureAwait(false);
var results = await session.InvokeAsync<IEnumerable<TagHelperDescriptor>>("GetTagHelpersAsync", new object[] { project.Id.Id, "Foo", }).ConfigureAwait(false);
return results;
}
}

View File

@ -8,29 +8,29 @@ using Microsoft.VisualStudio.Shell;
GenerateCodeBase = true,
PublicKeyToken = "adb9793829ddae60",
OldVersionLowerBound = "0.0.0.0",
OldVersionUpperBound = "1.0.0.0",
NewVersion = "1.0.0.0")]
OldVersionUpperBound = "1.2.0.0",
NewVersion = "1.2.0.0")]
[assembly: ProvideBindingRedirection(
AssemblyName = "Microsoft.CodeAnalysis.Razor.Workspaces",
GenerateCodeBase = true,
PublicKeyToken = "adb9793829ddae60",
OldVersionLowerBound = "0.0.0.0",
OldVersionUpperBound = "1.2.0.0",
NewVersion = "1.2.0.0")]
OldVersionUpperBound = "1.0.0.0",
NewVersion = "1.0.0.0")]
[assembly: ProvideBindingRedirection(
AssemblyName = "Microsoft.CodeAnalysis.Remote.Razor",
GenerateCodeBase = true,
PublicKeyToken = "adb9793829ddae60",
OldVersionLowerBound = "0.0.0.0",
OldVersionUpperBound = "1.2.0.0",
NewVersion = "1.2.0.0")]
OldVersionUpperBound = "1.0.0.0",
NewVersion = "1.0.0.0")]
[assembly: ProvideBindingRedirection(
AssemblyName = "Microsoft.VisualStudio.LanguageServices.Razor",
GenerateCodeBase = true,
PublicKeyToken = "adb9793829ddae60",
OldVersionLowerBound = "0.0.0.0",
OldVersionUpperBound = "1.2.0.0",
NewVersion = "1.2.0.0")]
OldVersionUpperBound = "1.0.0.0",
NewVersion = "1.0.0.0")]