c# - 使用项目依赖项作为全局命令运行 Dnx 控制台应用程序

标签 c# asp.net dnx dnu

我有一个引用类库项目的 DNX 控制台应用程序。我正在尝试发布它并将其安装为全局命令。

我在 Windows 10 操作系统上执行此操作。 Projects Tree

控制台项目 Program.cs

namespace Vert.Commands
{
    public class Program
    {
        public static void Main(string[] args)
        {
            var test = new ConsoleWriter();
            test.Talk("Test", ConsoleColor.Cyan);
        }
    }
}

控制台项目 project.json

{
  "version": "1.0.0-*",
  "description": "Test App",
  "authors": [ "vrybak" ],
  "tags": [ "" ],
  "projectUrl": "",
  "licenseUrl": "",
  "compilationOptions": {
    "emitEntryPoint": true
  },
  "dependencies": {
    "CommandLib": "1.0.0-*"
  },
  "commands": {
    "vm-test-job": "Vert.Commands"
  },
  "frameworks": {
    "dnx451": {}
  }
}

类库:CommandLib 文件:ConsoleWriter

namespace CommandLib
{
    public class ConsoleWriter
    {
        public void Talk(string message, ConsoleColor color)
        {
            var currentColor = Console.ForegroundColor;
            Console.ForegroundColor = color;
            Console.WriteLine(message);
            Console.ForegroundColor = currentColor;
        }
    }
}

类库:project.json

{
  "version": "1.0.0-*",
  "description": "CommandLib Class Library",
  "authors": [ "vrybak" ],
  "tags": [ "" ],
  "projectUrl": "",
  "licenseUrl": "",
  "frameworks": {
    "dnx451": { }
  }
}

我正在尝试安装一个全局命令 vm-test-job 为此我

  1. cd 进入 src/Vert.Commands 文件夹
  2. 将其作为一个包发布
  3. dnu publish --no-source -o artifacts\publish
  4. CD \artifacts\publish\approot
  5. dnu 命令安装 .\packages\Vert.Commands\Vert.Commands.1.0.0.nupkg

当我尝试运行命令 vm-test-job 时出现错误 System.IO.FileNotFoundException:无法加载文件或程序集“CommandLib,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。该系统找不到指定的文件。

如何安装在引用其他项目的控制台应用程序项目中的命令?

最佳答案

你试过做...

dnu restore

...在安装命令之前?我认为 dnvm 需要在安装之前重建/重新打包您的依赖项。

看看这个链接,它试图实现与我假设的相同的结果。 http://blogs.msdn.com/b/sujitdmello/archive/2015/04/23/step-by-step-installation-instructions-for-getting-dnx-on-your-laptop.aspx

关于c# - 使用项目依赖项作为全局命令运行 Dnx 控制台应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35660939/

相关文章:

c# - 使用 Dapper 映射嵌套对象列表

c# - 如何在Azure Blob上实现快速搜索?

c# - 这段 C# 代码如何得出答案?

jquery - 想要使用 Jquery 或 javascript 在不点击的情况下调用 rel 属性

c# - 如何用 StreamWriter 写特殊字符 (é, è)?

c# - Attribute.IsDefined 在 DNX Core 5.0 中去了哪里?

c# - 发布期间未复制数据库文件,因此安装的应用程序抛出异常

asp.net - 构建成功,但发布失败

asp.net-core - 当目标为 "dependencies"时,我应该如何在 project.json 中定义 "frameworkAssemblies"和 "dotnet"

asp.net-core - ASP.NET 5 和构建操作