DotVVM 2.0 - 无法 运行 试用 Business Pack 控件

DotVVM 2.0 - unable to run trial Business Pack controls

我已经使用 Visual Studio 创建了一个 DotVVM Core 2.0 项目,并且我已经激活了我从私人订阅源添加到该项目中的试用版 Business Pack。我已经在 ConfigureServices 的 DotvvmStartup.cs 中注册了 Business Pack。我在 IntelliSense 中看不到 bp 控件,当我尝试 运行 带有 bp 控件的 Web 应用程序时,我收到一条错误消息,指出未注册 tagprefix。

我使用最新版本的 Visual Studio 2017 Community 以及最新版本的 DotVVM 和 Business Pack。感谢您的任何建议。

Perhaps you won't call method DotvvmStartup.ConfigureServices. It is cause by "bug" in VS2017 extension template (v2.0.118.0 and below) and dotnet CLI template (dotvvm.templates.2.0.3).

请检查Startup.ConfigureServices

  public void ConfigureServices(IServiceCollection services)
  {
      ...
      services.AddDotVVM(); //this line is incorrect
  }

您应该将 services.AddDotVVM() 替换为 services.AddDotVVM<DotvvmStartup>(); https://github.com/riganti/dotvvm/blob/master/src/DotVVM.Framework.Hosting.AspNetCore/ServiceCollectionExtensions.cs#L17

这将创建 DotvvmStartup 的实例并调用方法 DotvvmStartup.ConfigureServices
DotvvmStartup 对象创建了 2 次(services.AddDotVVM<DotvvmStartup>()app.UseDotVVM<DotvvmStartup>(env.ContentRootPath))。