7

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

我在 Windows 10 操作系统上执行此操作。 项目树

控制台项目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. 光盘\artifacts\publish\approot
  5. dnu commands install .\packages\Vert.Commands\Vert.Commands.1.0.0.nupkg

当我尝试运行我的命令时vm-test-job出现错误 System.IO.FileNotFoundException: Could not load file or assembly 'CommandLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.

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

4

1 回答 1

1

你试过做一个...

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

于 2016-03-07T15:59:29.377 回答