private static Project CreateDefaultProject() { Project project = new AdhocWorkspace() .CurrentSolution .AddProject("TestProject", "TestAssembly", LanguageNames.CSharp) .WithMetadataReferences(ImmutableArray.Create( CorLibReference, CreateFromAssemblyName("System.Core.dll"), CreateFromAssemblyName("System.Linq.dll"), CreateFromAssemblyName("System.Linq.Expressions.dll"), CreateFromAssemblyName("System.Runtime.Serialization.Formatters.dll"), CreateFromAssemblyName("System.Runtime.dll"), CreateFromAssemblyName("System.Collections.dll"), CreateFromAssemblyName("System.Collections.Immutable.dll"), CreateFromAssemblyName("System.Text.RegularExpressions.dll"), CreateFromAssemblyName("Microsoft.CodeAnalysis.dll"), CreateFromAssemblyName("Microsoft.CodeAnalysis.CSharp.dll"))); var compilationOptions = (CSharpCompilationOptions)project.CompilationOptions; CSharpCompilationOptions newCompilationOptions = compilationOptions .WithAllowUnsafe(true) .WithOutputKind(OutputKind.DynamicallyLinkedLibrary); var parseOptions = (CSharpParseOptions)project.ParseOptions; CSharpParseOptions newParseOptions = parseOptions .WithLanguageVersion(LanguageVersion.Latest); return(project .WithCompilationOptions(newCompilationOptions) .WithParseOptions(newParseOptions)); }
public static Project CreateProject(string language) { ProjectId projectId = ProjectId.CreateNewId(debugName: FileUtility.TestProjectName); Project project = new AdhocWorkspace() .CurrentSolution .AddProject(projectId, FileUtility.TestProjectName, FileUtility.TestProjectName, language) .AddMetadataReferences( projectId, new MetadataReference[] { RuntimeMetadataReference.CorLibReference, RuntimeMetadataReference.CreateFromAssemblyName("System.Core.dll"), RuntimeMetadataReference.CreateFromAssemblyName("System.Linq.dll"), RuntimeMetadataReference.CreateFromAssemblyName("System.Linq.Expressions.dll"), RuntimeMetadataReference.CreateFromAssemblyName("System.Runtime.dll"), RuntimeMetadataReference.CreateFromAssemblyName("System.Collections.Immutable.dll"), RuntimeMetadataReference.CreateFromAssemblyName("Microsoft.CodeAnalysis.dll"), RuntimeMetadataReference.CreateFromAssemblyName("Microsoft.CodeAnalysis.CSharp.dll"), }) .GetProject(projectId); if (language == LanguageNames.CSharp) { var compilationOptions = (CSharpCompilationOptions)project.CompilationOptions; var parseOptions = (CSharpParseOptions)project.ParseOptions; project = project .WithCompilationOptions(compilationOptions.WithAllowUnsafe(true)) .WithParseOptions(parseOptions.WithLanguageVersion(LanguageVersion.Latest)); } return(project); }
public async Task VBParseOptionsInCompilationOptions() { var project = new AdhocWorkspace().CurrentSolution.AddProject("empty", "empty", LanguageNames.VisualBasic); project = project.WithCompilationOptions( ((VisualBasic.VisualBasicCompilationOptions)project.CompilationOptions).WithParseOptions((VisualBasic.VisualBasicParseOptions)project.ParseOptions)); var checksum = await project.State.GetChecksumAsync(CancellationToken.None).ConfigureAwait(false); Assert.NotNull(checksum); }
private static Project CreateProject() { const String projectName = "TestProject"; Project project = new AdhocWorkspace() .CurrentSolution .AddProject(projectName, projectName, LanguageNames.CSharp) .AddMetadataReference(CorlibReference) .AddMetadataReference(SystemCoreReference) .AddMetadataReference(CSharpCodeAnalysisReference) .AddMetadataReference(CodeAnalysisReference); CompilationOptions options = project.CompilationOptions .WithOutputKind(OutputKind.DynamicallyLinkedLibrary); return(project.WithCompilationOptions(options)); }
protected virtual Project CreateProject() { ProjectId projectId = ProjectId.CreateNewId(debugName: FileUtility.TestProjectName); Project project = new AdhocWorkspace() .CurrentSolution .AddProject(projectId, FileUtility.TestProjectName, FileUtility.TestProjectName, Language) .AddMetadataReferences( projectId, new MetadataReference[] { RuntimeMetadataReference.CorLibReference, RuntimeMetadataReference.CreateFromAssemblyName("System.Core.dll"), RuntimeMetadataReference.CreateFromAssemblyName("System.Linq.dll"), RuntimeMetadataReference.CreateFromAssemblyName("System.Linq.Expressions.dll"), RuntimeMetadataReference.CreateFromAssemblyName("System.Runtime.dll"), RuntimeMetadataReference.CreateFromAssemblyName("System.Collections.Immutable.dll"), RuntimeMetadataReference.CreateFromAssemblyName("Microsoft.CodeAnalysis.dll"), RuntimeMetadataReference.CreateFromAssemblyName("Microsoft.CodeAnalysis.CSharp.dll"), }) .GetProject(projectId); if (Language == LanguageNames.CSharp) { var compilationOptions = (CSharpCompilationOptions)project.CompilationOptions; CSharpCompilationOptions newCompilationOptions = compilationOptions .WithAllowUnsafe(true) .WithOutputKind(OutputKind.DynamicallyLinkedLibrary); var parseOptions = (CSharpParseOptions)project.ParseOptions; CSharpParseOptions newParseOptions = parseOptions .WithLanguageVersion(LanguageVersion.Latest); project = project .WithCompilationOptions(newCompilationOptions) .WithParseOptions(newParseOptions); } return(project); }