Skip to content

5408: Dropping static view compilation temporarily to be able support Dynamic Compilation with Roslyn#7892

Merged
sebastienros merged 26 commits into
OrchardCMS:1.10.xfrom
Lombiq:issue/5408
Dec 21, 2017
Merged

5408: Dropping static view compilation temporarily to be able support Dynamic Compilation with Roslyn#7892
sebastienros merged 26 commits into
OrchardCMS:1.10.xfrom
Lombiq:issue/5408

Conversation

@BenedekFarkas

Copy link
Copy Markdown
Member

Also includes cherrypicked commit 48685b3 to fix ClickToBuild.cmd.

@sebastienros

Copy link
Copy Markdown
Member

I believe you are still trying to find a better solution, that might involve fixing the codedomprovider library.

@BenedekFarkas

Copy link
Copy Markdown
Member Author

Yep, already have a proof of concept with a "hacked" piece of code, but I think I'm close to a nice (extensible) solution.

@sebastienros

Copy link
Copy Markdown
Member

Blocked on the CodeDomProvider PR to be accepted

@sebastienros

Copy link
Copy Markdown
Member

What if a module doesn't have this

<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform" warningLevel="4" compilerOptions="/langversion:6 /compilerPath:..\..\bin\roslyn"/>

Is it breaking existing modules from the gallery? Or the ones you'd have in your project?

@sebastienros

Copy link
Copy Markdown
Member

Can you revert the previous change that is breaking 1.10.x in the meantime, and work on a PR that provides all the changes?

@BenedekFarkas

Copy link
Copy Markdown
Member Author

What if a module doesn't have this
...
Is it breaking existing modules from the gallery? Or the ones you'd have in your project?

When writing C# 6 or above code in a Razor template in a module that doesn't have this configured, you'll see an error indicating that those language features are not available (but Razor IntelliSense is still operational), which is the same behavior as before. But it's OK in runtime, because Orchard.Web is responsible for that (just like with Dynamic Compilation). I'll go for a test run in Azure with this, but it looks OK locally.

Can you revert the previous change that is breaking 1.10.x in the meantime, and work on a PR that provides all the changes?

So we should revert what exactly? I'm asking because the current problem is Roslyn Dynamic Compilation vs. Static View Compilation (with the current CodeDomProvider package). We can safely release with one of them, but not both (without the CodeDomProvider fix). I'd vote for Roslyn Dynamic Compilation.

@sebastienros

Copy link
Copy Markdown
Member

Merge what you think is right as long as it's not breaking existing modules from the gallery, and we don't require symlinks.

@BenedekFarkas BenedekFarkas changed the title 5408: Fixing that C# 6 Dynamic Compilation broke View Compilation 5408: Dropping static view compilation temporarily to be able support Dynamic Compilation with Roslyn Dec 19, 2017
@sebastienros
sebastienros merged commit ed0c60c into OrchardCMS:1.10.x Dec 21, 2017
@BenedekFarkas
BenedekFarkas deleted the issue/5408 branch December 21, 2017 21:18
MatteoPiovanelli pushed a commit to LaserSrl/Orchard that referenced this pull request May 17, 2019
… Dynamic Compilation with Roslyn (OrchardCMS#7892)

# Conflicts:
#	ClickToBuild.cmd
#	Orchard.proj
#	src/Orchard.Web/Core/packages.config
#	src/Orchard.Web/Modules/Lucene/packages.config
#	src/Orchard.Web/Modules/Markdown/packages.config
#	src/Orchard.Web/Modules/Orchard.Alias/packages.config
#	src/Orchard.Web/Modules/Orchard.AntiSpam/packages.config
#	src/Orchard.Web/Modules/Orchard.ArchiveLater/packages.config
#	src/Orchard.Web/Modules/Orchard.AuditTrail/packages.config
#	src/Orchard.Web/Modules/Orchard.Autoroute/packages.config
#	src/Orchard.Web/Modules/Orchard.Azure.MediaServices/packages.config
#	src/Orchard.Web/Modules/Orchard.Blogs/packages.config
#	src/Orchard.Web/Modules/Orchard.Comments/packages.config
#	src/Orchard.Web/Modules/Orchard.ContentPermissions/packages.config
#	src/Orchard.Web/Modules/Orchard.ContentPicker/packages.config
#	src/Orchard.Web/Modules/Orchard.ContentTypes/packages.config
#	src/Orchard.Web/Modules/Orchard.CustomForms/packages.config
#	src/Orchard.Web/Modules/Orchard.Dashboards/packages.config
#	src/Orchard.Web/Modules/Orchard.DesignerTools/packages.config
#	src/Orchard.Web/Modules/Orchard.DynamicForms/packages.config
#	src/Orchard.Web/Modules/Orchard.Email/packages.config
#	src/Orchard.Web/Modules/Orchard.Fields/packages.config
#	src/Orchard.Web/Modules/Orchard.ImageEditor/packages.config
#	src/Orchard.Web/Modules/Orchard.ImportExport/packages.config
#	src/Orchard.Web/Modules/Orchard.Indexing/packages.config
#	src/Orchard.Web/Modules/Orchard.JobsQueue/packages.config
#	src/Orchard.Web/Modules/Orchard.Layouts/packages.config
#	src/Orchard.Web/Modules/Orchard.Lists/packages.config
#	src/Orchard.Web/Modules/Orchard.Localization/packages.config
#	src/Orchard.Web/Modules/Orchard.Media/packages.config
#	src/Orchard.Web/Modules/Orchard.MediaLibrary/packages.config
#	src/Orchard.Web/Modules/Orchard.MediaPicker/packages.config
#	src/Orchard.Web/Modules/Orchard.MediaProcessing/packages.config
#	src/Orchard.Web/Modules/Orchard.Modules/packages.config
#	src/Orchard.Web/Modules/Orchard.MultiTenancy/packages.config
#	src/Orchard.Web/Modules/Orchard.OutputCache/packages.config
#	src/Orchard.Web/Modules/Orchard.Packaging/packages.config
#	src/Orchard.Web/Modules/Orchard.Projections/packages.config
#	src/Orchard.Web/Modules/Orchard.PublishLater/packages.config
#	src/Orchard.Web/Modules/Orchard.Recipes/packages.config
#	src/Orchard.Web/Modules/Orchard.Resources/packages.config
#	src/Orchard.Web/Modules/Orchard.Roles/packages.config
#	src/Orchard.Web/Modules/Orchard.Rules/packages.config
#	src/Orchard.Web/Modules/Orchard.Scripting.CSharp/packages.config
#	src/Orchard.Web/Modules/Orchard.Search/packages.config
#	src/Orchard.Web/Modules/Orchard.SecureSocketsLayer/packages.config
#	src/Orchard.Web/Modules/Orchard.Setup/packages.config
#	src/Orchard.Web/Modules/Orchard.Tags/packages.config
#	src/Orchard.Web/Modules/Orchard.Taxonomies/packages.config
#	src/Orchard.Web/Modules/Orchard.Templates/packages.config
#	src/Orchard.Web/Modules/Orchard.Themes/packages.config
#	src/Orchard.Web/Modules/Orchard.Tokens/packages.config
#	src/Orchard.Web/Modules/Orchard.Users/packages.config
#	src/Orchard.Web/Modules/Orchard.Warmup/packages.config
#	src/Orchard.Web/Modules/Orchard.Widgets/packages.config
#	src/Orchard.Web/Modules/Orchard.Workflows/packages.config
#	src/Orchard.Web/Modules/Orchard.jQuery/packages.config
#	src/Orchard.Web/Modules/TinyMce/packages.config
#	src/Orchard.Web/Modules/Upgrade/packages.config
#	src/Orchard.Web/Themes/packages.config
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants