【问题标题】:How do you run commands in a ASP.NET Core Framework app?如何在 ASP.NET Core Framework 应用程序中运行命令?
【发布时间】:2016-11-23 09:43:16
【问题描述】:

在 dnxCore 项目中,您可以使用“dnx command-name”运行 project.json 文件中的命令,您如何为 net461 项目执行此操作?如果您尝试使用 dnx 运行它,则会显示框架版本错误。它看起来超级简单,但我无法弄清楚或查看任何有关它的文档。

谢谢,

【问题讨论】:

  • 命令 dnx 已被删除并替换为命令 dotnet hanselman.com/blog/…
  • 是的,但是使用它你如何指定你的命令之一?我什么都看不到?它似乎只是在默认端口和地址上运行

标签: asp.net asp.net-core dnx asp.net5


【解决方案1】:

您可以创建一个 dotnet 控制台应用程序并将其用作 dotnet 命令。您需要在 project.json 中设置 outputName。您可以在此链接中找到更多详细信息 - https://docs.microsoft.com/en-us/dotnet/articles/core/tools/extensibility

这里是示例 project.json

{
  "version": "1.0.0-*",
  "buildOptions": {
    "debugType": "portable",
    "emitEntryPoint": true,
    "outputName": "dotnet-helloworld"
  },
  "dependencies": {},
  "frameworks": {
    "netcoreapp1.0": {
      "dependencies": {
        "Microsoft.NETCore.App": {
          "type": "platform",
          "version": "1.0.0"
        }
      },
      "imports": "dnxcore50"
    }
  }
}

这是代码

使用系统;

namespace ConsoleApplication
{
    public class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

您可以执行 dotnet pack 并创建 nuget 包,创建 nuget.config 文件,在 nuget.config 中提及 nuget 包的位置,也可以直接从命令行在工具部分使用。

这里有两个链接可能对您有所帮助。

  1. http://dotnetthoughts.net/building-a-custom-dotnet-cli-tool/
  2. http://dotnetthoughts.net/using-nuget-packages-in-aspnet-core/

【讨论】:

  • 我认为这不是我想要的。我想在 ASP.NET 5 站点上运行命令。基本上,我希望能够使用 kestrel 或 weblistener 运行站点,就像使用在 project.json 文件中配置的命令并使用“dnx web”等调用它们的 dnxcore 项目一样
  • dnx 已不复存在。它被 dotnet 命令取代。和这些链接创建一个类似于 dotnet run 的命令,比如 dotnet helloworld(your custom command)
  • 但这不是运行 ASP.NET 网站的目标。 ASP.NET 和红隼一样仍然存在
猜你喜欢
  • 1970-01-01
  • 2018-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多