Monday, March 7, 2016

Dnx Console App global command

Leave a Comment

I have a DNX console application that references a class library project. I am trying to publish this and install it as a global command.

I am doing this on Windows 10 OS. Projects Tree

Console Project Program.cs

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

Console Project 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": {}   } } 

Class Library: CommandLib file: 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;         }     } } 

Class Library: project.json

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

I am trying to install a global command vm-test-job To do this I

  1. cd into the src/Vert.Commands folder
  2. publish it as a package
  3. dnu publish --no-source -o artifacts\publish
  4. cd \artifacts\publish\approot
  5. dnu commands install .\packages\Vert.Commands\Vert.Commands.1.0.0.nupkg

When I try to run my command vm-test-job I get an error 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.

How do I install a command that is in a console app project that references other projects?

1 Answers

Answers 1

Have you tried doing a...

dnu restore 

...before installing the command ? I think dnvm needs to rebuild/repack your dependencies prior to install.

Take a look at this link, which tries to achieve the same thing as you do I assume. http://blogs.msdn.com/b/sujitdmello/archive/2015/04/23/step-by-step-installation-instructions-for-getting-dnx-on-your-laptop.aspx

If You Enjoyed This, Take 5 Seconds To Share It

0 comments:

Post a Comment