我正在尝试将视图添加到我的ASP.NET Core MVC项目中,但出现错误。
错误消息是
There was an error running the selected code generator:
'Value cannot be null.
Parameter name:path'
该视图将用于ViewComponent。
我的步骤是
Right click ->
Add View ->
Type View Name ->
Uncheck 'Use a Layout Page' ->
Template : Empty ->
Click Add.
我搜索了它,但找不到任何结果。
编辑:
这是一个Startup.cs
namespace Udemy.MvcWebUI
{
public class Startup
{
// This method gets called by the runtime. Use this method to add
//services to the container.
// For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services)
{
services.AddScoped<IUsersService, UsersManager>();
services.AddScoped<IUsersDAL, EFUsersDAL>();
services.AddScoped<IUsersInfoService, UsersInfoManager>();
services.AddScoped<IUsersInfoDAL, EFUsersInfoDAL>();
services.AddScoped<IEventTypesService, EventTypesManager>();
services.AddScoped<IEventTypesDAL, EFEventTypesDAL>();
services.AddScoped<IEventsService, EventsManager>();
services.AddScoped<IEventsDAL, EFEventsDAL>();
services.AddScoped<ICityService, CityManager>();
services.AddScoped<ICityDAL, EFCityDAL>();
services.AddScoped<IDistrictService, DistrcitManager>();
services.AddScoped<IDistrictDAL, EFDistrictDAL>();
services.AddDbContext<EventContext>(options => options.UseSqlServer(@"Server=localhost\SQLEXPRESS;Database=Events;
User Id=sa;Password=Omurcan.1994;"));
services.AddMvc();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseFileServer();
app.UseNodeModules(env.ContentRootPath);
app.UseMvcWithDefaultRoute();
// db tanimi icin
using (var serviceScope = app.ApplicationServices.GetService<IServiceScopeFactory>().CreateScope())
{
var context = serviceScope.ServiceProvider.GetRequiredService<EventContext>();
context.Database.EnsureCreated();
}
}
}
}
我该如何解决?
感谢您的帮助。
答案 0 :(得分:8)
您的项目中可能缺少Microsoft.VisualStudio.Web.CodeGeneration.Design
包!
根据您的项目.NET Core版本安装Microsoft.VisualStudio.Web.CodeGeneration.Design
nuget软件包的正确版本。
然后,如果您最近将项目从任何较低版本更新到.NET Core 2.1,则还将项目的程序包也更新到最新版本。
然后别忘了Download的.NET Core SDK的最新稳定版本(2.1.500)并安装在您的计算机上。
希望您的问题得到解决!
答案 1 :(得分:0)
我有一个类似的问题。它对您不起作用,因为您的NuGet软件包管理器无法下载Microsoft.VisualStudio.Web.CodeGeneration.Design
软件包。发生这种情况是因为您没有连接到Internet或您的NuGet配置不正确。
您有两个选择:
1。配置NuGet:
工具-> NuGet软件包管理器->软件包管理器设置
在NuGet软件包管理器下拉菜单中,单击软件包源。单击绿色加号以添加另一个来源。将其命名为 nuget.org ,并将源定义为 https://api.nuget.org/v3/index.json
单击“更新”,然后单击“确定”。下次您尝试以以前的方式添加Razor Page时(通过右键单击Pages-> Add-> Razor Page),它将自动下载正确的软件包。
2。以传统方式添加剃刀页面
右键单击Pages-> Add-> New Item-> Razor Page
这种方式不需要上面指定的NuGet程序包。