Как обновить Мой CodeGenerator, кодированный Microsoft.AspNet.Scaffolding для aspnetcore? - PullRequest
0 голосов
/ 14 апреля 2019

Я кодировал CodeGenerator от Microsoft.AspNet.Scaffolding.12.dll, я могу использовать его в aspnet mvc 5 (щелкните правой кнопкой мыши по проекту и добавьте -> Новый базовый проект сборки), но когда я хочу обновить его дляAspnetcore, это не работает.так что я могу сделать для его обновления?

1.Я пытался использовать Visual Studio SDK, чтобы переписать его, но это было так .... трудно для меня.

основной CodeGenerator являетсячто:

 [Export(typeof(CodeGeneratorFactory))]
    public class ModuleScaffolderFactory : CodeGeneratorFactory
    {
        public ModuleScaffolderFactory()
            : base(CreateCodeGeneratorInformation())
        {

        }

        public override ICodeGenerator CreateInstance(CodeGenerationContext context)
        {
            return new ModuleScaffolder(context, Information);
        }

        // We support CSharp WAPs targetting at least .Net Framework 4.5 or above.
        // We DON'T currently support VB
        public override bool IsSupported(CodeGenerationContext codeGenerationContext)
        {
            if (ProjectLanguage.CSharp.Equals(codeGenerationContext.ActiveProject.GetCodeLanguage()))
            {
                FrameworkName targetFramework = codeGenerationContext.ActiveProject.GetTargetFramework();
                if (targetFramework != null)
                {
                    return String.Equals(".NetFramework", targetFramework.Identifier, StringComparison.OrdinalIgnoreCase) &&
                            targetFramework.Version >= new Version(4, 5);
                }
            }

            return true;
        }

        private static CodeGeneratorInformation CreateCodeGeneratorInformation()
        {
            return new CodeGeneratorInformation(
                displayName: "[Platform]添加模块功能(Hplus)",
                description: "通过实体类,生成相应模块的Core层和Application层代码",
                author: "yanusosu",
                version: new Version(0, 1, 0, 0),
                id: "Yanusosu_Platform_Scaffolding",
                icon: ToImageSource(Resources.Application),
                gestures: new[] { "Yanusosu" },
                categories: new[] { "Yanusosu", Categories.Common, Categories.Other }
            );
        }

        /// <summary>
        /// Helper method to convert Icon to Imagesource.
        /// </summary>
        /// <param name="icon">Icon</param>
        /// <returns>Imagesource</returns>
        public static ImageSource ToImageSource(Icon icon)
        {
            ImageSource imageSource = Imaging.CreateBitmapSourceFromHIcon(
                icon.Handle,
                Int32Rect.Empty,
                BitmapSizeOptions.FromEmptyOptions());

            return imageSource;
        }
    }

, пожалуйста, помогите мне, пожалуйста. Или скажите, что Microsoft.AspNet.Scaffolding.12.dll не может использоваться в aspnetcore, и предложите мне другой способ, так что спасибо!

...