虽然dotnet cli还没有准备好使用Visual Studio,而dnu / dnx给了我大量额外不需要的库,我想做以下几点。
我想使用传统的.csproj方法使用命令行或控制台应用程序启动ASP.NET Core 1项目。 我创建了一个ASP.NET 4项目,包括所有依赖项,并且能够编译它。
第一次尝试。 起初我尝试将其编译成控制台应用程序并通过标准入口点启动:
// Entry point for the application.
public static void Main(string[] args) {
WebApplication.Run<Startup>(args);
}
它说:&#34;没有服务类型&#39; Microsoft.Extensions.PlatformAbstractions.IApplicationEnvironment&#39;已经注册。&#34;
这意味着dnx.exe可能通过PlatformServices.Create创建其他依赖项注入规则。 有人知道如何正确地做到这一点吗?
第二次尝试 我把它编译成dll并尝试通过dnx.exe启动它,这给了我错误&#34;错误:无法加载应用程序或执行命令&#39; Microsoft.AspNet.Hosting&#39;。可用命令:web。&#34;。
这是我的project.json:
{
"version": "1.0.0-*",
"compilationOptions": {
"emitEntryPoint": true
},
"webroot": "wwwroot",
"commands": {
"web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.Kestrel --server.urls http://*:5004"
},
"frameworks": {
"dnx451": {}
},
"entryPoint": "ManagementConsoleWeb",
"loadable": false
}
那么正确的方法是什么?有可能吗?
答案 0 :(得分:0)
这里有一些想法。
ASP.NET Core 1需要DNX引导才能工作。是的,它在.NET 4.5.2下运行,但DNX是必须的。所以基本上很奇怪你可以在.csproj net451中引用ASP.NET Core 1库。
Nuget下的DN45引导程序库不适用于net451名字对象。因此,您无法从.csproj
这意味着您无法使用传统的.csproj类库或可执行方法来调试ASP.NET Core 1。当然,您可以随时连接到正在运行的应用程序,但这并不方便。
因此,我们的团队现在正在使用针对NET CORE 1的DNX引导程序,但我们提供.csproj构建的输出,直到RC2发布。
答案 1 :(得分:0)
ASP.NET Core 1.0使用IHostingEnvironment hostingEnvironment
而不是IApplicationEnvironment applicationEnvironment
。
详细了解the ASP.NET Core Migration document。