Repository navigation
什么时候升级到.netcore3.1啊? #48
Description
Activity
同问, 现在 smartcode 使用的是 .netcore 2.2 , 这个版本不是 lts 版本, 已经过了支持期, 建议升级到 .netcore 3.1 。
支持
初略的看了一下代码, 可能是因为引用了 Host 来初始化 Razor 引擎, 导致升级到 3.x 比较困难。 可以考虑这中实现方式 https://github.com/adoconnection/RazorEngineCore 或者直接引用这个类库来替换现有的 Razor 实现 @Ahoo-Wang
这里还有一篇 RazorEngineCore 的介绍 https://www.codeproject.com/Articles/5260233/Building-String-Razor-Template-Engine-with-Bare-Ha
初略的看了一下代码, 可能是因为引用了 Host 来初始化 Razor 引擎, 导致升级到 3.x 比较困难。 可以考虑这中实现方式 https://github.com/adoconnection/RazorEngineCore 或者直接引用这个类库来替换现有的 Razor 实现 @Ahoo-Wang
将项目'SmartCode.CLI'的目标框架由netcoreapp2.2 改成netcoreapp3.1不就行了初略的看了一下代码, 可能是因为引用了 Host 来初始化 Razor 引擎, 导致升级到 3.x 比较困难。 可以考虑这中实现方式 https://github.com/adoconnection/RazorEngineCore 或者直接引用这个类库来替换现有的 Razor 实现 @Ahoo-Wang
将项目'SmartCode.CLI'的目标框架由netcoreapp2.2 改成netcoreapp3.1不就行了不是那么简单的, 2.x 到 3.x 的升级比较复杂, 尤其是 host 这部分。 不仅很多包都没有了, 而且用法也发生了很大的变化。
初略的看了一下代码, 可能是因为引用了 Host 来初始化 Razor 引擎, 导致升级到 3.x 比较困难。 可以考虑这中实现方式 https://github.com/adoconnection/RazorEngineCore 或者直接引用这个类库来替换现有的 Razor 实现 @Ahoo-Wang
将项目'SmartCode.CLI'的目标框架由netcoreapp2.2 改成netcoreapp3.1不就行了不是那么简单的, 2.x 到 3.x 的升级比较复杂, 尤其是 host 这部分。 不仅很多包都没有了, 而且用法也发生了很大的变化。
呃,貌似真没那么复杂,我就是这样做的,然后打了个包放到了私有库,不一样的正常使用嘛
初略的看了一下代码, 可能是因为引用了 Host 来初始化 Razor 引擎, 导致升级到 3.x 比较困难。 可以考虑这中实现方式 https://github.com/adoconnection/RazorEngineCore 或者直接引用这个类库来替换现有的 Razor 实现 @Ahoo-Wang
将项目'SmartCode.CLI'的目标框架由netcoreapp2.2 改成netcoreapp3.1不就行了不是那么简单的, 2.x 到 3.x 的升级比较复杂, 尤其是 host 这部分。 不仅很多包都没有了, 而且用法也发生了很大的变化。
呃,貌似真没那么复杂,我就是这样做的,然后打了个包放到了私有库,不一样的正常使用嘛
这个真不一样, 得用 3.x 的 host 才算是真正的升级到了 3.x , 只改 BuildTarget 是不能算升级, 会被 @Ahoo-Wang 鄙视的
初略的看了一下代码, 可能是因为引用了 Host 来初始化 Razor 引擎, 导致升级到 3.x 比较困难。 可以考虑这中实现方式 https://github.com/adoconnection/RazorEngineCore 或者直接引用这个类库来替换现有的 Razor 实现 @Ahoo-Wang
将项目'SmartCode.CLI'的目标框架由netcoreapp2.2 改成netcoreapp3.1不就行了不是那么简单的, 2.x 到 3.x 的升级比较复杂, 尤其是 host 这部分。 不仅很多包都没有了, 而且用法也发生了很大的变化。
呃,貌似真没那么复杂,我就是这样做的,然后打了个包放到了私有库,不一样的正常使用嘛
这个真不一样, 得用 3.x 的 host 才算是真正的升级到了 3.x , 只改 BuildTarget 是不能算升级, 会被 @Ahoo-Wang 鄙视的
我之前改的时候,是准备把所有都升级一下,但是嫌麻烦,为了不装2.2的SDK,就简单这样改了
不知道3.1版本现在进行到什么程度了,急呀。 @Ahoo-Wang
楼主 可以考虑一个 api版本的 3.1先
今天花了些时间, 用 https://github.com/adoconnection/RazorEngineCore 实现了一个新的模板引擎, 我的 fork 在这里 https://github.com/beginor/SmartCode。
注意, 这个只是 Razor 引擎, 而不是完整的 MVC 的 View , 所以肯定会少一些功能。
如果要使用新的 RazorCore 模板, 需要注意的地方有:
- 配置文件中的 Task 需要指定 TemplateEngine 的名称 (Name) 为
RazorCore, 参考: https://github.com/beginor/SmartCode/blob/smartcode_master/doc/SmartCode-TypeScript.yml#L62 ; - 模板中原来指定
@model BuildContext修改为@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate<BuildContext>; - 不支持
LayoutRenderPartial和HtmlHelper, 这些是 MVC 的 View 才有的东西; - 增加了
Include方法, 方便使用重复的代码片段, 参考: https://github.com/beginor/SmartCode/blob/f9bbeca01ed1f624e9b51b9b5d1700bd065dbeff/src/SmartCode.Generator/RazorTemplates/TypeScript/Model.cshtml#L14 - 原来的
Html.PadLeftHtml.NewLine几个扩展方法移动到了 RazorCoreTemplate 方法下面, 用法@Html.NewLine()->@NewLine()
欲了解更多, 可以查看我这次提交的内容 beginor@f9bbeca
后续我会在我的库中删除
Hosting以及Mvc这些死在 .net core 2.2 的僵尸类库, 并逐步修改现有的 Razor 模板。- 配置文件中的 Task 需要指定 TemplateEngine 的名称 (Name) 为
终于彻底删掉了 Mvc 2.2 这个包袱, 轻松升级到 .net 5.0 https://github.com/beginor/SmartCode 。
顺便把 Handlebars 模板引擎实现也删掉了, 这个似乎没有人用。 目前只有配置文件中还用到一点。
很多时候就得做减法。
Reacted by Ahoo Wang, beginor and MagNet
什么时候升级到.netcore3.1啊?