Global.json和运行Web应用程序

时间:2016-04-21 14:48:47

标签: macos asp.net-core visual-studio-code

我正在尝试使用OS X和VS Code从头创建一个新的Web应用程序,而不使用任何脚手架工具。我的出发点是斯科特艾伦关于复数视觉的教程:

https://app.pluralsight.com/library/courses/aspdotnet-core-1-0-fundamentals/table-of-contents

我的项目结构是:

Project structure

global.json文件包含

{
    "projects": [ "src" ],
    "sdk": {
        "version": "1.0.0-rc1-update2"
    }
}

project.json目前包含

{
    "version": "1.0.0-*",
    "compilationOptions": {
        "emitEntryPoint": false
    },
    "dependencies": {
        "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
        "Microsoft.AspNet.Hosting": "1.0.0-rc1-final"
    },
    "frameworks": {
        "dnx451": {},
        "dnxcore50": {}
    },
    "commands": {
        "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.Kestrel --server.urls http://localhost:5000"
    },
    "exclude": [
        "wwwroot",
        "node_modules"
    ]
}

我已经运行dnu restore来获取软件包,现在我想运行网络。我需要转到Web应用程序文件夹并运行dnx web才能执行此操作并启动应用程序

Running web app

是否可以直接从根文件夹运行应用程序,而不是从Web应用程序文件夹运行?此类设置中是否需要global.json文件?我如何更改托管环境?我已经阅读了文档,但是使用VS 2015时托管环境才会明确。

1 个答案:

答案 0 :(得分:1)

你不能简单地从root运行,因为可能有多个项目是"可执行的"。但是您可以使用--project/-p参数将项目传递给dnx。

使用ASPNET_ENVIRONMENT环境变量设置环境。

global.json文件对两件事很有用:

  1. sdk部分仅限于VS。
  2. projects部分一直在使用,如果项目位于多个文件夹(例如srctest),则该部分非常有用。如果所有内容都在一个文件夹中,则您不需要它。
  3. 因此,运行Web应用程序的最低要求是:

    1. 项目的文件夹
    2. project.json文件
    3. 启动文件