razorpage脚手架中的参考自定义库

时间:2019-01-19 11:16:47

标签: c# asp.net-mvc razor-pages

在一个新的使用Razor页面的aspnet Core Web项目中,我将脚手架模板复制到了准备修改它们的项目中,并运行以下命令来执行Razorpage脚手架:

dotnet aspnet-codegenerator razorpage -p MyProject.Web -m MyEntity -dc MyDbContext -udl -outDir Areas\MyArea\Pages\MyEntities --referenceScriptLibraries --force --no-build

为了使模板更聪明,我尝试引用一些我在项目的类中编写的代码。但是,当模板运行时,我只会收到以下错误:

  

错误CS0234:名称空间“ MyProject”中不存在类型或名称空间名称“ Web”(您是否缺少程序集引用?)

这使我相信执行模板的环境/ AppDomain没有加载该项目。但是,它必须这样做,因为它知道DbContext。我通过在模板正常工作时将其添加到模板中来证明这一点:

<ul>
    @{ 
        foreach (var an in AppDomain.CurrentDomain.GetAssemblies())
        {
            <li>@an.FullName</li>
        }
        @Coin.Web.Templates.SiteMap.GetStringValue()
    }
</ul>

这段代码将所有程序集渲染到视图中,并且MyProject.Web在其中。

这甚至是受支持的东西吗?如果可以的话,我想避免在实际模板文件中重复这些“聪明的”代码。

0 个答案:

没有答案