【发布时间】:2016-07-01 08:19:31
【问题描述】:
在 Ubuntu 上使用 .Net core 1.0 运行简单的“hello world”应用程序时出现内部服务器错误。我确定我错过了一些简单的东西,但无法弄清楚它是什么。它一直有效,直到我在 HomeController 中用 return View(); 替换了 return Content("Hello, world!");,并将 using System.IO; 和 .UseContentRoot(Directory.GetCurrentDirectory()) 添加到 Program.cs。
我尝试将 System 和 System.X 添加到 Startup.cs 的依赖项列表中,但无济于事。
程序.cs
using Microsoft.AspNetCore.Hosting;
using System.IO;
namespace aspnetcoreapp
{
public class Program
{
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseStartup<Startup>()
.Build();
host.Run();
}
}
}
project.json
{
"version": "1.0.0-*",
"buildOptions": {
"debugType": "portable",
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.AspNetCore.Diagnostics": "1.0.0",
"Microsoft.AspNetCore.Mvc": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
"Microsoft.AspNetCore.StaticFiles": "1.0.0",
"Microsoft.NETCore.App": { "type": "platform", "version": "1.0.0" }
},
"frameworks": {
"netcoreapp1.0": {}
}
}
Startup.cs
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
namespace aspnetcoreapp
{
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
public void Configure(IApplicationBuilder app)
{
app.UseDeveloperExceptionPage();
app.UseStaticFiles();
app.UseMvc();
}
}
}
HomeController.cs
using Microsoft.AspNetCore.Mvc;
namespace aspnetcoreapp
{
[Route("/")]
[Route("[controller]")]
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
}
}
dotnet 运行
Project aspnetcoreapp (.NETCoreApp,Version=v1.0) will be compiled because inputs were modified
Compiling aspnetcoreapp for .NETCoreApp,Version=v1.0
Compilation succeeded.
0 Warning(s)
0 Error(s)
Time elapsed 00:00:01.0784778
Hosting environment: Production
Content root path: /home/cvandal/code/aspnetcoreapp
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
结果
编译处理此请求所需的资源时出错。请查看以下具体错误 详细说明并适当修改您的源代码。
生成的代码
找不到类型或命名空间名称“System”(您是 缺少 using 指令或程序集引用?) 使用系统;找不到类型或命名空间名称“System”(您是否缺少 using 指令或程序集引用?) 使用 System.Linq;找不到类型或命名空间名称“System”(您是否缺少 using 指令或程序集引用?) 使用 System.Collections.Generic;命名空间中不存在类型或命名空间名称“ViewFeatures” 'Microsoft.AspNetCore.Mvc'(您是否缺少程序集参考?) 使用 Microsoft.AspNetCore.Mvc.ViewFeatures;找不到类型或命名空间名称“System”(您是否缺少 using 指令或 装配参考?) 使用 System.Threading.Tasks;无法定义使用“动态”的类或成员,因为编译器需要类型 找不到“System.Runtime.CompilerServices.DynamicAttribute”。 您是否缺少参考? 公共类 _Views_Home_Index_cshtml :Microsoft.AspNetCore.Mvc.Razor.RazorPage 预定义类型 'System.Boolean' 未定义或导入 公共类_Views_Home_Index_cshtml:Microsoft.AspNetCore.Mvc.Razor.RazorPage 类型“对象”是 在未引用的程序集中定义。您必须添加一个 引用程序集 'System.Runtime, Version=4.1.0.0, 文化=中性,PublicKeyToken=b03f5f7f11d50a3a'。 公共类_Views_Home_Index_cshtml:Microsoft.AspNetCore.Mvc.Razor.RazorPage 类型“对象”是 在未引用的程序集中定义。您必须添加一个 引用程序集 'System.Runtime, Version=4.1.0.0, 文化=中性,PublicKeyToken=b03f5f7f11d50a3a'。 公共 Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { 获取;私人套装; } 预定义类型 'System.Object' 未定义或导入 公共 Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { 获取;私人套装;类型或命名空间 名称空间中不存在名称“ViewFeatures” 'Microsoft.AspNetCore.Mvc'(您是否缺少程序集参考?) 公共 Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { 获取;私人套装; } 预定义类型 'System.Void' 未定义或导入 公共 Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { 获取;私人套装; '对象'类型是 在未引用的程序集中定义。您必须添加一个 引用程序集 'System.Runtime, Version=4.1.0.0, 文化=中性,PublicKeyToken=b03f5f7f11d50a3a'。 公共 Microsoft.AspNetCore.Mvc.IUrlHelper 网址 { 获取;私人套装;未定义或导入预定义类型“System.Object” 公共 Microsoft.AspNetCore.Mvc.IUrlHelper 网址 { 获取;私人套装;类型或命名空间名称“IUrlHelper”不存在于 命名空间“Microsoft.AspNetCore.Mvc”(您是否缺少程序集 参考?) 公共 Microsoft.AspNetCore.Mvc.IUrlHelper 网址 { 获取;私人套装;未定义或导入预定义类型“System.Void” 公共 Microsoft.AspNetCore.Mvc.IUrlHelper 网址 { 获取;私人套装; 'Object' 类型是在一个程序集中定义的,它不是 参考。您必须添加对程序集“System.Runtime”的引用, 版本=4.1.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a'。 公共 Microsoft.AspNetCore.Mvc.IViewComponentHelper 组件 { 获取;私人套装;未定义预定义类型“System.Object” 或进口 公共 Microsoft.AspNetCore.Mvc.IViewComponentHelper 组件 { 获取;私人套装;类型或命名空间名称 命名空间中不存在“IViewComponentHelper” 'Microsoft.AspNetCore.Mvc'(您是否缺少程序集参考?) 公共 Microsoft.AspNetCore.Mvc.IViewComponentHelper 组件 { 获取;私人套装;未定义预定义类型“System.Void”或 进口的 公共 Microsoft.AspNetCore.Mvc.IViewComponentHelper 组件 { 获取;私人套装;类型“对象”是在一个程序集中定义的 没有被引用。您必须添加对程序集的引用 'System.Runtime,版本=4.1.0.0,文化=中性, PublicKeyToken=b03f5f7f11d50a3a'。 公共 Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { 获取;私人套装;未定义预定义类型“System.Object”或 进口的 公共 Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { 获取;私人套装;类型或命名空间名称“IJsonHelper”不 存在于命名空间“Microsoft.AspNetCore.Mvc.Rendering”中(你是 缺少程序集参考?) 公共 Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { 获取;私人套装;未定义预定义类型“System.Void”或 进口的 公共 Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { 获取;私人套装;类型“对象”是在一个程序集中定义的 没有被引用。您必须添加对程序集的引用 'System.Runtime,版本=4.1.0.0,文化=中性, PublicKeyToken=b03f5f7f11d50a3a'。 公共 Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { 获取;私人套装;预定义类型 'System.Object' 不是 定义或导入 公共 Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { 获取;私人套装;类型或命名空间名称 'IHtmlHelper' 命名空间“Microsoft.AspNetCore.Mvc.Rendering”中不存在 (您是否缺少程序集参考?) 公共 Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { 获取;私人套装; 'Object' 类型在程序集中定义 没有被引用。您必须添加对程序集的引用 'System.Runtime,版本=4.1.0.0,文化=中性, PublicKeyToken=b03f5f7f11d50a3a'。 公共 Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { 获取;私人套装;预定义类型 'System.Object' 不是 定义或导入 公共 Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { 获取;私人套装; } 不能定义一个类或成员 使用“动态”,因为编译器需要类型 找不到“System.Runtime.CompilerServices.DynamicAttribute”。 您是否缺少参考? 公共 Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { 获取;私人套装;预定义类型 'System.Boolean' 不是 定义或导入 公共 Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { 获取;私人套装;预定义类型 'System.Void' 不是 定义或导入 公共 Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { 获取;私人套装;异步方法的返回类型必须是 无效,任务或任务 public override async Task ExecuteAsync() 类型“Object”是在未引用的程序集中定义的。您必须添加一个 引用程序集 'System.Runtime, Version=4.1.0.0, 文化=中性,PublicKeyToken=b03f5f7f11d50a3a'。 public override async Task ExecuteAsync() 未定义或导入预定义类型“System.Object” public override async Task ExecuteAsync() 找不到类型或命名空间名称“Task”(您是否缺少 using 指令还是程序集参考?) 公共覆盖异步任务ExecuteAsync()'_Views_Home_Index_cshtml.ExecuteAsync()':返回类型必须是'Task' 匹配被覆盖的成员 'RazorPage.ExecuteAsync()' public override async Task ExecuteAsync() 类型“Task”在未引用的程序集中定义。您必须添加一个 参考程序集 'System.Threading.Tasks, Version=4.0.10.0, 文化=中性,PublicKeyToken=b03f5f7f11d50a3a'。 公共覆盖异步任务 ExecuteAsync() 未定义或导入预定义类型“System.Void” 公共_Views_Home_Index_cshtml() { 'Object' 类型是在未引用的程序集中定义的。您必须添加对程序集“System.Runtime”的引用, 版本=4.1.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a'。 [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] 未定义或导入预定义类型“System.Object” [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] 类型“属性”在未引用的程序集中定义。 您必须添加对程序集 'System.Runtime, Version=4.1.0.0, 文化=中性,PublicKeyToken=b03f5f7f11d50a3a'。 [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] 未定义或导入预定义类型“System.Void” [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] 类型“对象”在未引用的程序集中定义。 您必须添加对程序集 'System.Runtime, Version=4.1.0.0, 文化=中性,PublicKeyToken=b03f5f7f11d50a3a'。 [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] 未定义或导入预定义类型“System.Object” [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] 类型“属性”在未引用的程序集中定义。 您必须添加对程序集 'System.Runtime, Version=4.1.0.0, 文化=中性,PublicKeyToken=b03f5f7f11d50a3a'。 [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] 未定义或导入预定义类型“System.Void” [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] 类型“对象”在未引用的程序集中定义。 您必须添加对程序集 'System.Runtime, Version=4.1.0.0, 文化=中性,PublicKeyToken=b03f5f7f11d50a3a'。 [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] 未定义或导入预定义类型“System.Object” [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] 类型“属性”在未引用的程序集中定义。 您必须添加对程序集 'System.Runtime, Version=4.1.0.0, 文化=中性,PublicKeyToken=b03f5f7f11d50a3a'。 [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] 未定义或导入预定义类型“System.Void” [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] 类型“对象”在未引用的程序集中定义。 您必须添加对程序集 'System.Runtime, Version=4.1.0.0, 文化=中性,PublicKeyToken=b03f5f7f11d50a3a'。 [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] 未定义或导入预定义类型“System.Object” [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] 类型“属性”在未引用的程序集中定义。 您必须添加对程序集 'System.Runtime, Version=4.1.0.0, 文化=中性,PublicKeyToken=b03f5f7f11d50a3a'。 [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] 未定义或导入预定义类型“System.Void” [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] 类型“对象”在未引用的程序集中定义。 您必须添加对程序集 'System.Runtime, Version=4.1.0.0, 文化=中性,PublicKeyToken=b03f5f7f11d50a3a'。 [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] 未定义或导入预定义类型“System.Object” [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] 类型“属性”在未引用的程序集中定义。 您必须添加对程序集 'System.Runtime, Version=4.1.0.0, 文化=中性,PublicKeyToken=b03f5f7f11d50a3a'。 [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] 未定义或导入预定义类型“System.Void” [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] 未定义或导入预定义类型“System.Void” public _Views_Home_Index_cshtml() 未定义或导入预定义类型“System.Int32” BeginContext(0, 181, true);未定义或导入预定义类型“System.Int32” BeginContext(0, 181, true);未定义或导入预定义类型“System.Boolean” BeginContext(0, 181, true); “对象”类型是在未引用的程序集中定义的。您必须添加对 程序集'System.Runtime,版本=4.1.0.0,文化=中性, PublicKeyToken=b03f5f7f11d50a3a'。 BeginContext(0, 181, true);未定义或导入预定义类型“System.Object” BeginContext(0, 181, true);未定义或导入预定义类型“System.Void” BeginContext(0, 181, true);未定义或导入预定义类型“System.String” WriteLiteral("\n\n\n \n \n\n aspnetcoreapp\n
\n \n \n你好,世界!
\n
\n\n"); 类型“对象”是在一个程序集中定义的 没有被引用。您必须添加对程序集的引用 'System.Runtime,版本=4.1.0.0,文化=中性, PublicKeyToken=b03f5f7f11d50a3a'。 WriteLiteral("\n\n\n \n \n\n aspnetcoreapp\n
\n \n \n你好,世界!
\n
\n\n"); 未定义预定义类型'System.Object' 或进口 WriteLiteral("\n\n\n \n \n\n aspnetcoreapp\n
\n \n \n你好,世界!
\n
\n\n"); 预定义类型 'System.Void' 未定义或 进口的 WriteLiteral("\n\n\n \n \n\n aspnetcoreapp\n
\n \n \n你好,世界!
\n
\n\n"); 类型“对象”是在一个程序集中定义的 没有被引用。您必须添加对程序集的引用 'System.Runtime,版本=4.1.0.0,文化=中性, PublicKeyToken=b03f5f7f11d50a3a'。 EndContext();未定义或导入预定义类型“System.Object” EndContext();未定义或导入预定义类型“System.Void” EndContext(); '_Views_Home_Index_cshtml.ExecuteAsync()':并非所有代码路径都返回值 公共覆盖异步任务 ExecuteAsync()
【问题讨论】:
标签: c# asp.net .net linux asp.net-core